public void ConfirmPayroll(int Id) { PayrollSalaryTable Record = _unitOfWork.PayrollSalaryTableRepository.GetById(Id); Record.SalaryConfirmed = true; _unitOfWork.PayrollSalaryTableRepository.Update(Record); }
public static PayrollSalaryTableDTO ConvertRespondentInfoToDTO(PayrollSalaryTable PayrollSalaryTable) { AutoMapper.Mapper.CreateMap <PayrollSalaryTable, PayrollSalaryTableDTO>().ConvertUsing( m => { return(new PayrollSalaryTableDTO { Id = m.Id, OfficeId = m.OfficeId, PayrollMonthId = m.PayrollMonthId, BgId = m.BgId, CreatorId = m.CreatorId, Details = m.Details, SalaryConfirmed = m.SalaryConfirmed, PayrollMonthDescription = new PayrollMonthDescriptionDTO { Id = m.PayrollMonthDescription.Id, FyId = m.PayrollMonthDescription.FyId, MonthNameEnglish = m.PayrollMonthDescription.MonthNameEnglish, MonthNameNepali = m.PayrollMonthDescription.MonthNameNepali, StartDate = m.PayrollMonthDescription.StartDate, EndDate = m.PayrollMonthDescription.EndDate, WorkingDays = m.PayrollMonthDescription.WorkingDays }, Office = new OfficeDTOs { OfficeId = m.Office.OfficeId, OfficeName = m.Office.OfficeName, OfficeAddress = m.Office.OfficeAddress, OfficeCode = m.Office.OfficeCode, OfficeGeoLocation = m.Office.OfficeGeoLocation, OfficeParentId = m.Office.OfficeParentId, OfficePhone = m.Office.OfficePhone, OfficeStatus = m.Office.OfficeStatus }, Fiscal = new FiscalDTO { FyId = m.Fiscal.FyId, FyName = m.Fiscal.FyName } }); }); return(AutoMapper.Mapper.Map <PayrollSalaryTable, PayrollSalaryTableDTO>(PayrollSalaryTable)); }
public PayrollSalaryTableDTO GeneratePayroll(PayrollSalaryTableDTO Record, out string Message, out bool Success, out bool UpdateExisting) { List <PayrollSalaryTable> CheckConfirmedSalary = _unitOfWork.PayrollSalaryTableRepository.All().Where(x => x.OfficeId == Record.OfficeId && x.SalaryConfirmed == false).ToList(); if (CheckConfirmedSalary.Count != 0) { foreach (PayrollSalaryTable Rec in CheckConfirmedSalary) { if (!(Rec.OfficeId == Record.OfficeId && Rec.PayrollMonthId == Record.PayrollMonthId && Rec.FyId == Record.FyId)) { Message = "There is a previous unconfirmed salary for this office"; Success = false; Record.SalaryConfirmed = true; UpdateExisting = false; return(Record); } } } PayrollSalaryTableDTO ReturnRecord = new PayrollSalaryTableDTO(); PayrollSalaryTable Domain = _unitOfWork.PayrollSalaryTableRepository.All().Where(x => x.FyId == Record.FyId && x.OfficeId == Record.OfficeId && x.PayrollMonthId == Record.PayrollMonthId).FirstOrDefault(); if (Domain == null) { SqlConnection conn = DbConnectHelper.GetConnection(); conn.Open(); SqlCommand cmd = new SqlCommand("sp_GeneratePayrollNewVersion", conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@FyId", Record.FyId); cmd.Parameters.AddWithValue("@MonthDescriptId", Record.PayrollMonthId); cmd.Parameters.AddWithValue("@CreatorId", Record.CreatorId); cmd.Parameters.AddWithValue("@BranchId", Record.OfficeId); cmd.Parameters.AddWithValue("@Details", Record.Details); SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); da.Fill(dt); da.Dispose(); cmd.Dispose(); conn.Close(); conn.Dispose(); Message = "Payroll generated successfully"; Success = true; PayrollSalaryTable ReturnId = _unitOfWork.PayrollSalaryTableRepository.Get(x => x.FyId == Record.FyId && x.OfficeId == Record.OfficeId && x.PayrollMonthId == Record.PayrollMonthId).FirstOrDefault(); UpdateExisting = false; return(PayrollSalaryTableRequestFormatter.ConvertRespondentInfoToDTO(ReturnId)); } else { if (!Domain.SalaryConfirmed) { if (Record.UpdateExisting == true) { SqlConnection conn = DbConnectHelper.GetConnection(); conn.Open(); SqlCommand cmd = new SqlCommand("sp_GeneratePayrollNewVersion", conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@FyId", Record.FyId); cmd.Parameters.AddWithValue("@MonthDescriptId", Record.PayrollMonthId); cmd.Parameters.AddWithValue("@CreatorId", Record.CreatorId); cmd.Parameters.AddWithValue("@BranchId", Record.OfficeId); cmd.Parameters.AddWithValue("@Details", Record.Details); cmd.Parameters.AddWithValue("@DeleteFlag", Record.UpdateExisting); SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); da.Fill(dt); da.Dispose(); cmd.Dispose(); conn.Close(); conn.Dispose(); Message = "Payroll updated successfully"; Success = true; UpdateExisting = false; return(Record); } else { UpdateExisting = true; Message = "Payroll of this month for this Office already exists."; } } else { UpdateExisting = false; Message = "Payroll for this month is already confirmed"; } } ReturnRecord = PayrollSalaryTableRequestFormatter.ConvertRespondentInfoToDTO(Domain); Success = false; return(ReturnRecord); }