Exemple #1
0
        protected void grdDependents_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            var humanResourcesManager = new HumanResourcesManager(this);
            var originalDependent     = humanResourcesManager.GetEmployeeDependent(Convert.ToInt32(grdDependents.DataKeys[e.RowIndex]["EmployeeDependentId"]));
            var dependent             = new EmployeeDependent();

            if (originalDependent != null)
            {
                dependent.CopyPropertiesFrom(originalDependent);
            }

            dependent.FamilyTree = (grdDependents.Rows[e.RowIndex].FindControl("txtUpdateFamilyTree") as TextBox).Text;
            dependent.Name       = (grdDependents.Rows[e.RowIndex].FindControl("txtUpdateName") as TextBox).Text;

            if (!String.IsNullOrEmpty((grdDependents.Rows[e.RowIndex].FindControl("txtUpdateBirthDate") as TextBox).Text))
            {
                dependent.BirthDate = Convert.ToDateTime((grdDependents.Rows[e.RowIndex].FindControl("txtUpdateBirthDate") as TextBox).Text);
            }

            humanResourcesManager.UpdateEmployeeDependent(originalDependent, dependent);

            grdDependents.EditIndex = -1;
            grdDependents.DataBind();

            e.Cancel = true;
        }
        private async Task <bool> AddEmployeeDependents(ElevateEntities dbContext, List <EmployeeDependentDTO> dependents, int employeeId)
        {
            foreach (var dependent in dependents)
            {
                var createdAt   = DateTime.Now;
                var dbDependent = new EmployeeDependent
                {
                    EmployeeId     = employeeId,
                    FirstName      = dependent.FirstName,
                    LastName       = dependent.LastName,
                    RelationshipId = dependent.RelationshipId,
                    CreatedAt      = createdAt,
                    IsActive       = true
                };

                dbContext.EmployeeDependents.Add(dbDependent);
                await dbContext.SaveChangesAsync();

                dependent.Id         = dbDependent.ID;
                dependent.EmployeeId = employeeId;
                var relationship = await dbContext.Relationships.FirstOrDefaultAsync(x => x.ID == dependent.RelationshipId);

                if (relationship != null)
                {
                    dependent.RelationshipDisplayName = relationship.DisplayName;
                }
                dependent.CreatedAt = createdAt;
            }

            return(true);
        }
 public EmployeeDependentmodel(EmployeeDependent employeeDependent)
 {
     Id            = employeeDependent.Id;
     Name          = employeeDependent.Name;
     Dependent     = GetEnumDescription(employeeDependent.DependentType);
     GenderType    = GetEnumDescription(employeeDependent.Gender);
     DependentType = employeeDependent.DependentType;
     EmployeeId    = employeeDependent.EmployeeId;
     Birthday      = employeeDependent.Birthday;
 }
        public async Task <EmployeeDependent> CreateNewEmployeeDependent(EmployeeDependent employeeDependent)
        {
            try
            {
                var res = await _repository.CreateNewEmployeeDependent(employeeDependent);

                return(res);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public async Task <string> UpdateEmployeeDependent(int id, EmployeeDependent employeeDependent)
        {
            try
            {
                var res = await _repository.UpdateEmployeeDependent(id, employeeDependent);

                return(res);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public async Task <EmployeeDependent> CreateNewEmployeeDependent(EmployeeDependent employeeDependent)
        {
            try
            {
                _context.EmployeeDependents.Add(employeeDependent);
                await _context.SaveChangesAsync();

                return(employeeDependent);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #7
0
        public ActionResult Update(EmployeeDependentmodel vm)
        {
            ApiResult <EmployeeDependent> apiResult;

            if (ModelState.IsValid)
            {
                if (vm.Id > 0)
                {
                    apiResult = TryExecute(() =>
                    {
                        var dependent = new EmployeeDependent
                        {
                            Name          = vm.Name,
                            DependentType = vm.DependentType,
                            Gender        = vm.Gender,
                            EmployeeId    = vm.EmployeeId,
                            Birthday      = vm.Birthday,
                            Id            = vm.Id
                        };
                        _employeeDependentRepository.Update(dependent);
                        _unitOfWork.Commit();
                        return(dependent);
                    }, "Dependent updated sucessfully");
                }
                else
                {
                    apiResult = TryExecute(() =>
                    {
                        var dependent = new EmployeeDependent
                        {
                            Name          = vm.Name,
                            DependentType = vm.DependentType,
                            EmployeeId    = vm.EmployeeId,
                            Gender        = vm.Gender,
                            Birthday      = vm.Birthday,
                            Id            = vm.Id
                        };
                        _employeeDependentRepository.Create(dependent);
                        _unitOfWork.Commit();
                        return(dependent);
                    }, "Dependent created sucessfully");
                }
            }
            else
            {
                apiResult = ApiResultFromModelErrors <EmployeeDependent>();
            }

            return(Json(apiResult, JsonRequestBehavior.AllowGet));
        }
        public async Task <IActionResult> CreateEmployeeDependent(EmployeeDependent employeeDependent)
        {
            try
            {
                var response = await _service.CreateNewEmployeeDependent(employeeDependent);

                if (response != null)
                {
                    return(Ok(response));
                }
                return(StatusCode(StatusCodes.Status204NoContent));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void UpdateEmployeeDependents(ElevateEntities dbContext, List <EmployeeDependentDTO> dependents, int employeeId)
        {
            var dbDependents = dbContext.EmployeeDependents.Where(x => x.EmployeeId == employeeId && x.IsActive);

            // check for deletes
            foreach (var dbDependent in dbDependents)
            {
                if (dependents.FirstOrDefault(x => x.Id == dbDependent.ID) == null)
                {
                    dbDependent.IsActive   = false;
                    dbDependent.ModifiedAt = DateTime.Now;
                }
            }

            foreach (var dependent in dependents)
            {
                if (dependent.Id == 0)
                {
                    // add
                    var newDependent = new EmployeeDependent
                    {
                        EmployeeId     = employeeId,
                        FirstName      = dependent.FirstName,
                        LastName       = dependent.LastName,
                        RelationshipId = dependent.RelationshipId,
                        CreatedAt      = DateTime.Now,
                        IsActive       = true
                    };

                    dbContext.EmployeeDependents.Add(newDependent);
                }
                else
                {
                    // update
                    var dbDependent = dbDependents.FirstOrDefault(x => x.ID == dependent.Id);
                    if (dbDependent != null)
                    {
                        dbDependent.FirstName      = dependent.FirstName;
                        dbDependent.LastName       = dependent.LastName;
                        dbDependent.RelationshipId = dependent.RelationshipId;
                        dbDependent.ModifiedAt     = DateTime.Now;
                    }
                }
            }
        }
        public EmployeeDependentDTO(EmployeeDependent ed, bool deepCopy)
        {
            this.employeeDependentId = ed.EmployeeDependentId;
            this.firstName = ed.FirstName;
            this.lastName = ed.LastName;
            this.createdDate = ed.CreatedDate.ToJavaScriptDate();
            this.employeeId = ed.EmployeeId;
            this.dependentTypeId = ed.DependentType;
            this.dependentType = EnumHelper<EmployeeDependentType>.GetDisplayValue((EmployeeDependentType)ed.DependentType);
            this.isActive = ed.IsActive;
            this.isDeleted = ed.IsDeleted;
            this.employeeBenefits = CreateBenefits(ed);

            // Only deep copy these if we have a specific need to.
            // These items will not deep copy their child items.
            if (deepCopy)
            {
                this.employee = new EmployeeDTO(ed.Employee, false);
            }
        }
        public async Task <string> UpdateEmployeeDependent(int id, EmployeeDependent employeeDependent)
        {
            try
            {
                var res = await _context.EmployeeDependents.FirstOrDefaultAsync(m => m.EmployeeDependentId == id);

                res.EmployeeName = employeeDependent.EmployeeName;
                res.Name         = employeeDependent.Name;
                res.Relationship = employeeDependent.Relationship;
                res.DateofBirth  = employeeDependent.DateofBirth;
                res.IdNumber     = employeeDependent.IdNumber;
                _context.Update(res);
                await _context.SaveChangesAsync();

                return("Updated Record");
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        protected void grdDependents_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            var humanResourcesManager = new HumanResourcesManager(this);
            var originalDependent = humanResourcesManager.GetEmployeeDependent(Convert.ToInt32(grdDependents.DataKeys[e.RowIndex]["EmployeeDependentId"]));
            var dependent = new EmployeeDependent();

            if (originalDependent != null)
                dependent.CopyPropertiesFrom(originalDependent);

            dependent.FamilyTree = (grdDependents.Rows[e.RowIndex].FindControl("txtUpdateFamilyTree") as TextBox).Text;
            dependent.Name = (grdDependents.Rows[e.RowIndex].FindControl("txtUpdateName") as TextBox).Text;

            if (!String.IsNullOrEmpty((grdDependents.Rows[e.RowIndex].FindControl("txtUpdateBirthDate") as TextBox).Text))
                dependent.BirthDate = Convert.ToDateTime((grdDependents.Rows[e.RowIndex].FindControl("txtUpdateBirthDate") as TextBox).Text);

            humanResourcesManager.UpdateEmployeeDependent(originalDependent, dependent);

            grdDependents.EditIndex = -1;
            grdDependents.DataBind();

            e.Cancel = true;
        }
Exemple #13
0
        protected void btnAddDependent_Click(object sender, ImageClickEventArgs e)
        {
            var humanResourcesManager = new HumanResourcesManager(this);
            var dependent             = new EmployeeDependent();

            dependent.Name       = txtName.Text;
            dependent.FamilyTree = txtFamilyTree.Text;
            dependent.BirthDate  = ucDtBirthDate.DateTime.Value;

            dependent.EmployeeId = employeeId;
            dependent.CompanyId  = Company.CompanyId;

            humanResourcesManager.InsertEmployeeDependent(dependent);

            //
            // Clear fields
            //

            txtName.Text           = string.Empty;
            txtFamilyTree.Text     = string.Empty;
            ucDtBirthDate.DateTime = null;

            grdDependents.DataBind();
        }
        protected void btnAddDependent_Click(object sender, ImageClickEventArgs e)
        {
            var humanResourcesManager = new HumanResourcesManager(this);
            var dependent = new EmployeeDependent();

            dependent.Name = txtName.Text;
            dependent.FamilyTree = txtFamilyTree.Text;
            dependent.BirthDate = ucDtBirthDate.DateTime.Value;

            dependent.EmployeeId = employeeId;
            dependent.CompanyId = Company.CompanyId;

            humanResourcesManager.InsertEmployeeDependent(dependent);

            //
            // Clear fields
            //

            txtName.Text = string.Empty;
            txtFamilyTree.Text = string.Empty;
            ucDtBirthDate.DateTime = null;

            grdDependents.DataBind();
        }
        private IEnumerable<EmployeeBenefitDTO> CreateBenefits(EmployeeDependent ed)
        {
            List<EmployeeBenefitDTO> benefits = new List<EmployeeBenefitDTO>();

            foreach (EmployeeBenefit benefit in ed.Employee.EmployeeBenefits)
            {
                benefits.Add(new EmployeeBenefitDTO() {
                    employeeBenefitId = benefit.EmployeeBenefitId,
                    employeeId = benefit.EmployeeId,
                    createdDate = benefit.CreatedDate.ToJavaScriptDate(),
                    benefit = CheckDiscounts(benefit, ed),
                    discountApplied = ed.EmployeeDiscounts.Any(d => d.BenefitDiscount.Benefit.BenefitId == benefit.BenefitId),
                    isActive = benefit.IsActive,
                    isDeleted = benefit.IsDeleted
                });
            }

            return benefits;
        }
        private BenefitDTO CheckDiscounts(EmployeeBenefit employeeBenefit, EmployeeDependent dependent)
        {
            // Create the DTO
            BenefitDTO benefit = new BenefitDTO(employeeBenefit.Benefit, false);

            // Check to see if there is a discount for this benefit.
            EmployeeDiscount discount = dependent.EmployeeDiscounts.Where(ed => ed.BenefitDiscount.Benefit.BenefitId == employeeBenefit.BenefitId).FirstOrDefault();

            // If there is...
            if (discount != null)
            {
                // Is the discount a percentage?
                if (discount.BenefitDiscount.Percent > 0)
                {
                    benefit.benefitCostDependent = benefit.benefitCostDependent * ((100 - (decimal)discount.BenefitDiscount.Percent.Value) / 100);
                }

                // Or is it an amount?
                else if (discount.BenefitDiscount.Amount > 0)
                {
                    benefit.benefitCostDependent -= discount.BenefitDiscount.Amount.Value;
                }
            }

            // Return the DTO.
            return benefit;
        }
        public async Task <IActionResult> UpdateEmployeeDependent(int EmployeeDependentId, EmployeeDependent employeeDependent)
        {
            try
            {
                var res = await _service.UpdateEmployeeDependent(EmployeeDependentId, employeeDependent);

                if (res != null)
                {
                    return(Ok(res));
                }
                return(StatusCode(StatusCodes.Status204NoContent));
            }
            catch (Exception ex)
            {
                throw;
            }
        }