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
        }
Example #2
0
        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"
                    }));
                }
            }
        }