public async Task <SharedLookUpResponse> UpdateComponentAsync(UpdateEmployeeCompMapping updateComponentAc, int instituteId) { var componentGroups = await iMSDbContext.EmployeeCompMappings.Where(x => x.InstituteId == instituteId && x.Id != updateComponentAc.Id).ToListAsync(); var isDuplicated = componentGroups.Any(x => x.ComponentId == updateComponentAc.ComponentId && x.StaffId == updateComponentAc.StaffId && x.Operator == updateComponentAc.Operator && x.Amount == updateComponentAc.Amount); if (isDuplicated) { return new SharedLookUpResponse() { HasError = true, ErrorType = SharedLookUpResponseType.Code, Message = "Duplicate info of Employee Component Mapping, please use unique code" } } ; else { var employeeCompMapping = await iMSDbContext.EmployeeCompMappings.FirstAsync(x => x.Id == updateComponentAc.Id); employeeCompMapping.StaffId = updateComponentAc.StaffId; employeeCompMapping.ComponentId = updateComponentAc.ComponentId; employeeCompMapping.ComponentTypeId = updateComponentAc.ComponentTypeId; employeeCompMapping.Formula = updateComponentAc.Formula; employeeCompMapping.Amount = updateComponentAc.Amount; employeeCompMapping.Operator = updateComponentAc.Operator; iMSDbContext.EmployeeCompMappings.Update(employeeCompMapping); await iMSDbContext.SaveChangesAsync(); return(new SharedLookUpResponse() { HasError = false, Message = "Employee Component Mapping updated successfully" }); } #endregion }
public async Task <IActionResult> UpdateGroupAsync([FromBody] UpdateEmployeeCompMapping updateComponentGroupAc) { if (updateComponentGroupAc.ComponentId == 0) { return(Ok(new SharedLookUpResponse() { HasError = true, ErrorType = SharedLookUpResponseType.Name, Message = "Employee Component Mapping Component can't be null or empty" })); } else if (updateComponentGroupAc.ComponentTypeId == 0) { return(Ok(new SharedLookUpResponse() { HasError = true, ErrorType = SharedLookUpResponseType.Name, Message = "Employee Component Mapping component type can't be null or empty" })); } else { var instituteId = await GetUserCurrentSelectedInstituteIdAsync(); if (await iMSDbContext.EmployeeCompMappings.AnyAsync(x => x.Id == updateComponentGroupAc.Id && x.InstituteId == instituteId)) { return(Ok(await employeeCompMappingRepository.UpdateComponentAsync(updateComponentGroupAc, instituteId))); } else { return(Ok(new SharedLookUpResponse() { HasError = true, ErrorType = SharedLookUpResponseType.Code, Message = "Employee Component Mapping not found" })); } } }