| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package service
- import (
- "xps/datamodels"
- "xps/datasource"
- "xps/repositories"
- )
- type CompanyProfileService interface{
- GetById(ocId int64)(*datamodels.Company, error)
- Update(data *datamodels.Company) error
- }
- type cmpProfileService struct {
- companyRepo *repositories.CompanyRepo
- ocRepo *repositories.OcRepo
- groupRepo *repositories.GroupRepo
- }
- func NewCompanyProfileService() CompanyProfileService {
- engine := datasource.InstanceMaster()
-
- return &cmpProfileService{
- companyRepo: repositories.NewCompanyRepo(engine),
- ocRepo: repositories.NewOcRepo(engine),
- groupRepo: repositories.NewGroupRepo(engine),
- }
- }
- func (s *cmpProfileService) GetById(ocId int64)(*datamodels.Company, error){
- return s.companyRepo.GetById(ocId)
- }
- func (s *cmpProfileService) Update(data *datamodels.Company) error{
- ocId := data.OcId
-
- oc := &datamodels.Oc{}
- oc.OcId = ocId
- oc.OcName = data.CmpName
- err := s.ocRepo.Update(oc)
- if err != nil {
- return err
- }
-
- group := &datamodels.Group{GroupName: data.CmpName}
- group.OcId = ocId
- group.GroupId = ocId
- group.GroupName = data.CmpName
- err = s.groupRepo.Update(group)
- if err != nil {
- return err
- }
-
- return s.companyRepo.Update(ocId, data)
- }
|