Example #1
0
        public bool Remove(JobRole jobRole)
        {
            try
            {
                Func <JOB_ROLE, bool>         selector  = jr => jr.Job_Role_ID == jobRole.Id;
                Func <COMPANY_JOB_ROLE, bool> predicate = cjr => cjr.Job_Role_ID == jobRole.Id && cjr.Company_ID == 2;

                CompanyJobRole companyJobRole = companyJobRoleLogic.GetModelBy(predicate);
                if (companyJobRole == null || companyJobRole.Id <= 0)
                {
                    throw new Exception("Corresponding object not found! Please try again.");
                }

                bool removed = false;
                using (TransactionScope transaction = new TransactionScope())
                {
                    if (companyJobRoleLogic.Remove(companyJobRole))
                    {
                        repository.SaveChanges();
                        removed = base.Remove(selector);
                    }

                    repository.SaveChanges();
                    transaction.Complete();
                }

                return(removed);
            }
            catch (Exception)
            {
                throw;
            }
        }
Example #2
0
        public override JobRole Add(JobRole jobRole)
        {
            try
            {
                if (jobRole == null)
                {
                    throw new Exception("Job Role to be added cannot be null! Please try again");
                }

                JobRole newJobRole = null;
                using (TransactionScope transaction = new TransactionScope())
                {
                    newJobRole = base.Add(jobRole);
                    if (newJobRole == null || newJobRole.Id <= 0)
                    {
                        throw new Exception("Critical error occurred during Job Role creation! Please try again.");
                    }

                    CompanyJobRole companyJobRole = new CompanyJobRole();
                    companyJobRole.Company = new Company()
                    {
                        Id = 2
                    };
                    companyJobRole.JobRole = newJobRole;

                    CompanyJobRole newCompanyJobRole = companyJobRoleLogic.Add(companyJobRole);
                    if (newCompanyJobRole == null || newCompanyJobRole.Id <= 0)
                    {
                        throw new Exception("Job Role (" + jobRole.Name + ") could not be successfully added!");
                    }

                    transaction.Complete();
                }

                return(newJobRole);
            }
            catch (Exception)
            {
                throw;
            }
        }