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; } }
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; }
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; } }