public bool EmployeeDelete(Account account, AccountPerson employee)
        {
            if (account == null)
            {
                throw new ArgumentNullException(nameof(account));
            }
            if (employee == null)
            {
                throw new ArgumentNullException(nameof(employee));
            }

            return(ExecuteFaultHandledOperation(() =>
            {
                var person = _pers_es.Map(employee);
                person.PersonKey = employee.PersonKey;

                EntityPersonData ep_data = new EntityPersonData()
                {
                    EntityKey = account.AccountKey,
                    EntityTypeKey = 3, // Account
                    PersonKey = employee.PersonKey,
                    PersonTypeKey = employee.PersonTypeData.PersonTypeKey,
                    EntityPersonSeq = 1 // default; not used
                };

                _entity_person_repo.DeleteByObject(ep_data);
                _person_repo.Delete(person);

                return true;
            }));
        }
        public int AddEmployee(Company company, Employee employee, string role, string comment)
        {
            if (employee == null)
            {
                throw new ArgumentNullException(nameof(employee));
            }

            if (company == null)
            {
                throw new ArgumentNullException(nameof(company));
            }

            return(ExecuteFaultHandledOperation(() =>
            {
                var ep_data = new EntityPersonData()
                {
                    EntityKey = company.CompanyKey,
                    EntityTypeKey = 1,
                    PersonKey = employee.PersonKey,
                    PersonTypeKey = (int)employee.CompanyRoleType,
                    PersonRole = role,
                    Comment = comment,
                    StartDate = employee.StartDate,
                    EndDate = employee.EndDate,
                    EntityPersonKey = employee.EntityPersonKey
                };

                return _entity_person_repository.Insert(ep_data);
            }));
        }
        public bool DeteteEmployee(Company company, Employee employee)
        {
            if (employee == null)
            {
                throw new ArgumentNullException(nameof(employee));
            }

            if (company == null)
            {
                throw new ArgumentNullException(nameof(company));
            }

            return(ExecuteFaultHandledOperation(() =>
            {
                var ep_data = new EntityPersonData()
                {
                    EntityKey = company.CompanyKey,
                    EntityTypeKey = 1, // Company
                    PersonKey = employee.PersonKey,
                    PersonTypeKey = (int)employee.CompanyRoleType,
                    EntityPersonSeq = 1 // default; not used
                };

                _entity_person_repository.DeleteByObject(ep_data);
                return true;
            }));
        }
예제 #4
0
        private Representative MapPersonDataToRep(PersonData per_data, EntityPersonData emp_data)
        {
            Representative rep = MapPersonData <Representative>(per_data);

            _pers_es.Map(emp_data, rep);
            return(rep);
        }
예제 #5
0
        private void GetEmployeeSupervisor(Employee employee)
        {
            Log.Info($"Get Employee Supervisor Call for {employee.PersonKey}");
            EntityPersonData mgr_data = _entity_person_repo.GetByPersonID(employee.PersonKey, (int)QIQOEntityType.Manager);

            if (mgr_data.EntityPersonKey != 0)
            {
                employee.ParentEmployeeKey = mgr_data.EntityKey;
            }
        }
        public List <SqlParameter> MapParamsForObjectDelete(EntityPersonData entity)
        {
            var sql_params = new List <SqlParameter>();

            sql_params.Add(new SqlParameter("@person_key", entity.PersonKey));
            sql_params.Add(new SqlParameter("@person_type_key", entity.PersonTypeKey));
            sql_params.Add(new SqlParameter("@entity_key", entity.EntityKey));
            sql_params.Add(new SqlParameter("@entity_type_key", entity.EntityTypeKey));
            sql_params.Add(GetOutParam());

            return(sql_params);
        }
 public void Map(EntityPersonData per_data, Employee emp_data)
 {
     emp_data.Comment         = per_data.Comment;
     emp_data.StartDate       = per_data.StartDate;
     emp_data.EndDate         = per_data.EndDate;
     emp_data.CompanyRoleType = (QIQOPersonType)per_data.PersonTypeKey;
     emp_data.RoleInCompany   = per_data.PersonRole;
     emp_data.EntityPersonKey = per_data.EntityPersonKey;
     emp_data.AddedUserID     = per_data.AuditAddUserId;
     emp_data.AddedDateTime   = per_data.AuditAddDatetime;
     emp_data.UpdateUserID    = per_data.AuditUpdateUserId;
     emp_data.UpdateDateTime  = per_data.AuditUpdateDatetime;
 }
        } // Map function closer

        public List <SqlParameter> MapParamsForUpsert(EntityPersonData entity)
        {
            var sql_params = new List <SqlParameter>();

            sql_params.Add(new SqlParameter("@entity_person_key", entity.EntityPersonKey));
            sql_params.Add(new SqlParameter("@person_key", entity.PersonKey));
            sql_params.Add(new SqlParameter("@person_type_key", entity.PersonTypeKey));
            //sql_params.Add(new SqlParameter("@entity_person_seq", entity.EntityPersonSeq));
            sql_params.Add(new SqlParameter("@person_role", entity.PersonRole));
            sql_params.Add(new SqlParameter("@entity_key", entity.EntityKey));
            sql_params.Add(new SqlParameter("@entity_type_key", entity.EntityTypeKey));
            sql_params.Add(new SqlParameter("@comment", entity.Comment));
            sql_params.Add(new SqlParameter("@start_date", entity.StartDate));
            sql_params.Add(new SqlParameter("@end_date", entity.EndDate));
            sql_params.Add(GetOutParam());
            return(sql_params);
        }
예제 #9
0
 public AccountPerson Map(EntityPersonData emp_data)
 {
     return(new AccountPerson()
     {
         PersonKey = emp_data.PersonKey,
         Comment = emp_data.Comment,
         StartDate = emp_data.StartDate,
         EndDate = emp_data.EndDate,
         CompanyRoleType = (QIQOPersonType)emp_data.PersonTypeKey,
         RoleInCompany = emp_data.PersonRole,
         EntityPersonKey = emp_data.EntityPersonKey,
         AddedUserID = emp_data.AuditAddUserId,
         AddedDateTime = emp_data.AuditAddDatetime,
         UpdateUserID = emp_data.AuditUpdateUserId,
         UpdateDateTime = emp_data.AuditUpdateDatetime
     });
 }
예제 #10
0
        public void GetEmployeeRoleInCompanyTest()
        {
            //Arrange
            CompanyData test_comp_data = new CompanyData()
            {
                CompanyKey = 1, CompanyCode = "TEST"
            };
            Company test_comp = new Company()
            {
                CompanyKey = 1, CompanyCode = "TEST"
            };
            EntityPersonData ep_data = new EntityPersonData()
            {
                PersonRole = "TEST_ROLE"
            };
            Employee emp = new Employee()
            {
                RoleInCompany = "TEST_ROLE"
            };
            Mock <ICompanyRepository>      comp_repo = new Mock <ICompanyRepository>();
            Mock <IEntityPersonRepository> ep_repo   = new Mock <IEntityPersonRepository>();

            Mock <ICompanyBusinessEngine> company_be   = new Mock <ICompanyBusinessEngine>();
            Mock <IDataRepositoryFactory> repo_factory = new Mock <IDataRepositoryFactory>();
            Mock <IBusinessEngineFactory> be_factory   = new Mock <IBusinessEngineFactory>();
            Mock <IEntityServiceFactory>  es_factory   = new Mock <IEntityServiceFactory>();

            ep_repo.Setup(mock => mock.GetByID(It.IsAny <int>())).Returns(ep_data);
            company_be.Setup(mock => mock.GetEmployeeRoleInCompany(It.IsAny <Employee>())).Returns(emp.RoleInCompany);

            repo_factory.Setup(mock => mock.GetDataRepository <ICompanyRepository>()).Returns(comp_repo.Object);
            repo_factory.Setup(mock => mock.GetDataRepository <IEntityPersonRepository>()).Returns(ep_repo.Object);
            be_factory.Setup(mock => mock.GetBusinessEngine <ICompanyBusinessEngine>()).Returns(company_be.Object);

            CompanyBusinessEngine company_business_engine = new CompanyBusinessEngine(repo_factory.Object, be_factory.Object, es_factory.Object);

            //Act
            string ret_val = company_business_engine.GetEmployeeRoleInCompany(emp);

            //Assert
            Assert.IsTrue(ret_val == emp.RoleInCompany);
        }
        public int EmployeeSave(Account account, AccountPerson employee, string role, string comment)
        {
            if (account == null)
            {
                throw new ArgumentNullException(nameof(account));
            }
            if (employee == null)
            {
                throw new ArgumentNullException(nameof(employee));
            }

            return(ExecuteFaultHandledOperation(() =>
            {
                var person = _pers_es.Map(employee);
                person.PersonKey = employee.PersonKey;

                int person_key = _person_repo.Insert(person);

                //Log.Debug($"{person.PersonLastName} Employee Comment: {employee.Comment}");

                EntityPersonData ep_data = new EntityPersonData()
                {
                    EntityKey = account.AccountKey,
                    EntityTypeKey = 3,
                    PersonKey = person_key,
                    PersonTypeKey = (int)QIQOPersonType.AccountContact, //employee.PersonTypeData.PersonTypeKey,
                    PersonRole = employee.RoleInCompany,
                    Comment = employee.Comment,
                    StartDate = employee.StartDate,
                    EndDate = employee.EndDate,
                    EntityPersonKey = employee.EntityPersonKey
                };
                int ep_ret = _entity_person_repo.Insert(ep_data);

                return person_key;
            }));
        }
예제 #12
0
        public void DeteteEmployeeTest()
        {
            //Arrange
            CompanyData test_comp_data = new CompanyData()
            {
                CompanyKey = 1, CompanyCode = "TEST"
            };
            Company test_comp = new Company()
            {
                CompanyKey = 1, CompanyCode = "TEST"
            };
            EntityPersonData               ep_data   = new EntityPersonData();
            Employee                       emp       = new Employee();
            Mock <ICompanyRepository>      comp_repo = new Mock <ICompanyRepository>();
            Mock <IEntityPersonRepository> ep_repo   = new Mock <IEntityPersonRepository>();

            Mock <ICompanyBusinessEngine> company_be   = new Mock <ICompanyBusinessEngine>();
            Mock <IDataRepositoryFactory> repo_factory = new Mock <IDataRepositoryFactory>();
            Mock <IBusinessEngineFactory> be_factory   = new Mock <IBusinessEngineFactory>();
            Mock <IEntityServiceFactory>  es_factory   = new Mock <IEntityServiceFactory>();

            ep_repo.Setup(mock => mock.Delete(It.IsAny <EntityPersonData>()));
            company_be.Setup(mock => mock.DeteteEmployee(It.IsAny <Company>(), It.IsAny <Employee>())).Returns(true);

            repo_factory.Setup(mock => mock.GetDataRepository <ICompanyRepository>()).Returns(comp_repo.Object);
            repo_factory.Setup(mock => mock.GetDataRepository <IEntityPersonRepository>()).Returns(ep_repo.Object);
            be_factory.Setup(mock => mock.GetBusinessEngine <ICompanyBusinessEngine>()).Returns(company_be.Object);

            CompanyBusinessEngine company_business_engine = new CompanyBusinessEngine(repo_factory.Object, be_factory.Object, es_factory.Object);

            //Act
            bool ret_val = company_business_engine.DeteteEmployee(test_comp, emp);

            //Assert
            Assert.IsTrue(ret_val);
        }
 public List <SqlParameter> MapParamsForDelete(EntityPersonData entity)
 {
     return(MapParamsForDelete(entity.EntityPersonKey));
 }