public IActionResult Update([FromBody] dynamic employeeData) { ValidateSession(); var result = ""; try { if (employeeData != null) { Lms_EmployeePoco employeePoco = JsonConvert.DeserializeObject <Lms_EmployeePoco>(JsonConvert.SerializeObject(employeeData[0])); if (employeePoco.Id > 0 && employeePoco.FirstName.Trim() != string.Empty) { var employee = _employeeLogic.GetSingleById(employeePoco.Id); // it is required to pull existing data first, // cause there are some data which do not come from UI employee.FirstName = employeePoco.FirstName; employee.LastName = employeePoco.LastName; employee.DriverLicenseNo = employeePoco.DriverLicenseNo; employee.SocialInsuranceNo = employeePoco.SocialInsuranceNo; employee.EmployeeTypeId = employeePoco.EmployeeTypeId; employee.IsHourlyPaid = employeePoco.IsHourlyPaid; employee.HourlyRate = employeePoco.HourlyRate; employee.IsSalaried = employeePoco.IsSalaried; employee.SalaryAmount = employeePoco.SalaryAmount; employee.IsCommissionProvided = employeePoco.IsCommissionProvided; employee.CommissionPercentage = employeePoco.CommissionPercentage; employee.IsFuelChargeProvided = employeePoco.IsFuelChargeProvided; employee.FuelPercentage = employeePoco.FuelPercentage; employee.RadioInsuranceAmount = employeePoco.RadioInsuranceAmount; employee.InsuranceAmount = employeePoco.InsuranceAmount; employee.SalaryTerm = employeePoco.SalaryTerm; employee.IsActive = employeePoco.IsActive; employee.UnitNumber = employeePoco.UnitNumber; employee.AddressLine = employeePoco.AddressLine; employee.CityId = employeePoco.CityId; employee.ProvinceId = employeePoco.ProvinceId; employee.CountryId = employeePoco.CountryId; employee.PostCode = employeePoco.PostCode; employee.EmailAddress = employeePoco.EmailAddress; employee.MobileNumber = employeePoco.MobileNumber; employee.FaxNumber = employeePoco.FaxNumber; employee.PhoneNumber = employeePoco.PhoneNumber; var poco = _employeeLogic.Update(employee); result = poco.Id.ToString(); } } } catch (Exception ex) { } return(Json(result)); }
public IActionResult Add([FromBody] dynamic employeeLoanData) { ValidateSession(); var result = ""; try { if (employeeLoanData != null) { Lms_EmployeeLoanPoco employeeLoanPoco = JsonConvert.DeserializeObject <Lms_EmployeeLoanPoco>(JsonConvert.SerializeObject(employeeLoanData[0])); if (employeeLoanPoco.LoanAmount > 0) { using (var scope = new TransactionScope()) { var _transactionController = new TransactionController(_cache, _dbContext); var _configLogic = new Lms_ConfigurationLogic(_cache, new EntityFrameworkGenericRepository <Lms_ConfigurationPoco>(_dbContext)); var configInfo = _configLogic.GetSingleById(1); var employeeInfo = _employeeLogic.GetSingleById(employeeLoanPoco.EmployeeId); List <TransactionModel> debitTransactionModelList = new List <TransactionModel>(); TransactionModel debitTransactionModel = new TransactionModel(); debitTransactionModel.AccountId = employeeInfo.AccountId; debitTransactionModel.TxnAmount = employeeLoanPoco.LoanAmount; debitTransactionModelList.Add(debitTransactionModel); List <TransactionModel> creditTransactionModelList = new List <TransactionModel>(); TransactionModel creditTransactionModel = new TransactionModel(); creditTransactionModel.AccountId = (int)configInfo.LoanIncomeAccount; creditTransactionModel.TxnAmount = employeeLoanPoco.LoanAmount; creditTransactionModelList.Add(creditTransactionModel); var txnId = _transactionController.MakeTransaction(debitTransactionModelList, creditTransactionModelList, employeeLoanPoco.LoanAmount, DateTime.Now, DateTime.Now, employeeLoanPoco.Remarks); employeeLoanPoco.TransactionId = txnId; employeeLoanPoco.CreatedBy = sessionData.UserId; var loanId = _employeeLoanLogic.Add(employeeLoanPoco); if (!string.IsNullOrEmpty(loanId.ToString())) { result = loanId.ToString(); scope.Complete(); } } } } } catch (Exception ex) { } return(Json(result)); }
public IActionResult PartialLoadEmployeeOrders(string empId, string fromDate, string toDate) { List <ViewModel_PayrollOrder> viewModelPayrollOrders = new List <ViewModel_PayrollOrder>(); if (empId != "") { int selectedEmpId = Convert.ToInt16(empId); DateTime selectedFromDate = Convert.ToDateTime(fromDate); DateTime selectedToDate = Convert.ToDateTime(toDate); _deliveryOptionLogic = new Lms_DeliveryOptionLogic(_cache, new EntityFrameworkGenericRepository <Lms_DeliveryOptionPoco>(_dbContext)); var deliveryOptionList = _deliveryOptionLogic.GetList(); _employeeLogic = new Lms_EmployeeLogic(_cache, new EntityFrameworkGenericRepository <Lms_EmployeePoco>(_dbContext)); var employeeList = _employeeLogic.GetList(); _additionalServiceLogic = new Lms_OrderAdditionalServiceLogic(_cache, new EntityFrameworkGenericRepository <Lms_OrderAdditionalServicePoco>(_dbContext)); _orderLogic = new Lms_OrderLogic(_cache, new EntityFrameworkGenericRepository <Lms_OrderPoco>(_dbContext)); var orderList = _orderLogic.GetList(); _orderStatusLogic = new Lms_OrderStatusLogic(_cache, new EntityFrameworkGenericRepository <Lms_OrderStatusPoco>(_dbContext)); var orderStatusList = _orderStatusLogic.GetList().Where(c => (c.DispatchedToEmployeeId == selectedEmpId || c.PassedOffToEmployeeId == selectedEmpId) && c.CreateDate >= selectedFromDate && c.CreateDate <= selectedToDate && c.IsDelivered == true).ToList(); orderList = (from order in orderList join status in orderStatusList on order.Id equals status.OrderId select order).ToList(); foreach (var order in orderList) { ViewModel_PayrollOrder payrollOrder = new ViewModel_PayrollOrder(); var empInfo = _employeeLogic.GetSingleById(selectedEmpId); var orderStatus = orderStatusList.Where(c => c.OrderId == order.Id).FirstOrDefault(); payrollOrder.WaybillNumber = order.WayBillNumber; payrollOrder.WaybillDate = order.CreateDate; payrollOrder.OrderType = order.OrderTypeId == 1 ? "Single" : "Return"; payrollOrder.DeliveryOptionShortCode = deliveryOptionList.Where(c => c.Id == order.DeliveryOptionId).FirstOrDefault().ShortCode; payrollOrder.PickupEmployeeId = (int)orderStatus.DispatchedToEmployeeId; payrollOrder.PickupEmployeeName = employeeList.Where(c => c.Id == payrollOrder.PickupEmployeeId).FirstOrDefault().FirstName; var deliveryEmpId = orderStatusList.Where(c => c.OrderId == order.Id).FirstOrDefault().PassedOffToEmployeeId; if (deliveryEmpId != null && deliveryEmpId > 0) { payrollOrder.DeliveryEmployeeId = (int)orderStatus.PassedOffToEmployeeId; payrollOrder.DeliveryEmployeeName = employeeList.Where(c => c.Id == payrollOrder.DeliveryEmployeeId).FirstOrDefault().FirstName; } else { payrollOrder.DeliveryEmployeeId = payrollOrder.PickupEmployeeId; payrollOrder.DeliveryEmployeeName = payrollOrder.PickupEmployeeName; } payrollOrder.WaybillBaseAmount = order.OrderBasicCost; if (order.BasicCostOverriden != null && order.BasicCostOverriden > 0) { payrollOrder.WaybillBaseAmount = (decimal)order.BasicCostOverriden; } payrollOrder.OrderCommissionPercent = empInfo.CommissionPercentage == null ? 0 : (decimal)empInfo.CommissionPercentage; payrollOrder.OrderFuelPercent = empInfo.FuelPercentage == null ? 0 : (decimal)empInfo.FuelPercentage; payrollOrder.OrderCommissionAmnt = payrollOrder.WaybillBaseAmount * payrollOrder.OrderCommissionPercent / 100; payrollOrder.OrderFuelAmnt = payrollOrder.WaybillBaseAmount * payrollOrder.OrderFuelPercent / 100; payrollOrder.AddServiceAmnt = 0; var additionalServices = _additionalServiceLogic.GetList().Where(c => c.OrderId == order.Id); foreach (var addSrv in additionalServices) { if (addSrv.DriverPercentageOnAddService != null && addSrv.DriverPercentageOnAddService > 0) { payrollOrder.AddServiceAmnt = payrollOrder.AddServiceAmnt + (addSrv.AdditionalServiceFee * (decimal)addSrv.DriverPercentageOnAddService / 100); } } payrollOrder.WaitTime = orderStatus.DeliveryWaitTimeHour; viewModelPayrollOrders.Add(payrollOrder); } } return(PartialView("_PartialViewEmployeeDeliveries", viewModelPayrollOrders)); }