public ActionResult RollBack(string driverID, int id, string Trips, string Fuel, string operating, string splitdriver, string escrowLoan, string splitowner, bool isRollBackAll = false) { var db = DB.Entities; if (isRollBackAll) { RollBackAll(id); return(RedirectToAction("PayrollsRollBack", new { driverID = driverID })); } #region Trips if (!string.IsNullOrEmpty(Trips)) { string[] lstID = Trips.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries); List <int> lst = new List <int>(); foreach (var item in lstID) { lst.Add(int.Parse(item)); } var lstTrip = db.Temp_Trip_Info.Where(m => lst.Contains(m.TripID)); foreach (var item in lstTrip) { bool add = false; Trip_Info ttrip = db.Trip_Info.FirstOrDefault(m => m.Trip_ID == item.TripID); if (ttrip == null) { ttrip = new Trip_Info(); add = true; } ttrip.Address = item.Address; ttrip.Comfirmed_Rate = item.Comfirmed_Rate; ttrip.Comment = item.Comment; ttrip.Current_Payroll = item.Current_Payroll; ttrip.Customer = item.Customer; ttrip.Customer_Invoiced = item.Customer_Invoiced; ttrip.Customer_Invoiced_date = item.Customer_Invoiced_date; ttrip.Dead_head_miles = item.Dead_head_miles; ttrip.Deliverd = item.Deliverd; ttrip.Delivery_date = item.Delivery_date; ttrip.Delivery_location = item.Delivery_location; ttrip.Detention = item.Detention; ttrip.Detention_pay = item.Detention_pay; ttrip.Dispatcher = item.Dispatcher; ttrip.Driver = item.Driver; ttrip.Driver_paid = item.Driver_paid; ttrip.Equipment_ID = item.Equipment_ID; ttrip.Extra_charges = item.Extra_charges; ttrip.Extra_stops = item.Extra_stops; ttrip.Invoice = item.Invoice; ttrip.Loaded_miles = item.Loaded_miles; ttrip.Order_date = item.Order_date; ttrip.Paid = item.Paid; ttrip.Pick_up_location = item.Pick_up_location; ttrip.Picked = item.Picked; ttrip.Pickup_date = item.Pickup_date; ttrip.PO_ = item.PO_; ttrip.Total_charges = item.Total_charges; if (add) { db.Trip_Info.AddObject(ttrip); } else { db.ObjectStateManager.ChangeObjectState(ttrip, System.Data.EntityState.Modified); } } foreach (var item in lst) { var xxx = db.Temp_Trip_Info.FirstOrDefault(m => m.ID == item); if (xxx != null) { db.DeleteObject(xxx); } } } #endregion #region Fuel Expenses if (!string.IsNullOrEmpty(Fuel)) { string[] lstID = Fuel.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries); List <int> lst = new List <int>(); foreach (var item in lstID) { lst.Add(int.Parse(item)); } var lstTrip = db.Temp_Fuel_Expenses.Where(m => lst.Contains(m.ID)); foreach (var item in lstTrip) { bool add = false; Fuel___Expenses tfuel = db.Fuel___Expenses.FirstOrDefault(m => m.ID == item.FuelExpensesID); if (tfuel == null) { tfuel = new Fuel___Expenses(); add = true; } tfuel.Amount = item.Amount; tfuel.AmountN = item.AmountN; tfuel.Current_Payroll = item.Current_Payroll; tfuel.Date = item.Date; tfuel.Description = item.Description; tfuel.Driver = item.Driver; tfuel.fee_charged = item.fee_charged; tfuel.Fuel_Card = item.Fuel_Card; tfuel.Location = item.Location; tfuel.Paid_off = item.Paid_off; tfuel.Type = item.Type; if (add) { db.Fuel___Expenses.AddObject(tfuel); } else { db.ObjectStateManager.ChangeObjectState(tfuel, System.Data.EntityState.Modified); } } foreach (var item in lst) { var xxx = db.Temp_Fuel_Expenses.FirstOrDefault(m => m.ID == item); if (xxx != null) { db.DeleteObject(xxx); } } } #endregion #region Operating Expenses if (!string.IsNullOrEmpty(operating)) { string[] lstID = operating.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries); List <int> lst = new List <int>(); foreach (var item in lstID) { lst.Add(int.Parse(item)); } var lstTrip = db.Temp_Operating_Expenses.Where(m => lst.Contains(m.ID)); foreach (var item in lstTrip) { bool add = false; Operating_Expenses toperating = db.Operating_Expenses.FirstOrDefault(m => m.ID == item.OperatingExpensesID); if (toperating == null) { toperating = new Operating_Expenses(); add = true; } toperating.Amount = item.Amount; toperating.Current_Payroll = item.Current_Payroll; toperating.Date = item.Date; toperating.Description = item.Description; toperating.Driver = item.Driver; toperating.Location = item.Location; toperating.Type = item.Type; if (add) { db.Operating_Expenses.AddObject(toperating); } else { db.ObjectStateManager.ChangeObjectState(toperating, System.Data.EntityState.Modified); } } foreach (var item in lst) { var xxx = db.Temp_Operating_Expenses.FirstOrDefault(m => m.ID == item); if (xxx != null) { db.DeleteObject(xxx); } } } #endregion #region Owner Expenses if (!string.IsNullOrEmpty(splitowner)) { string[] lstID = splitowner.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries); List <int> lst = new List <int>(); foreach (var item in lstID) { lst.Add(int.Parse(item)); } var lstTrip = db.Temp_Split_Expenses.Where(m => lst.Contains(m.ID)); foreach (var item in lstTrip) { bool add = false; split_expenses tsowner = db.split_expenses.FirstOrDefault(m => m.Id == item.SplitExpensesID); if (tsowner == null) { tsowner = new split_expenses(); add = true; } tsowner.Amount = item.Amount; tsowner.Current_Payroll = item.Current_Payroll; tsowner.Date = item.Date; tsowner.Details = item.Details; tsowner.Expenses = item.Expenses; tsowner.Fee_Charged = item.Fee_Charged; tsowner.Idndex = item.Index; tsowner.OwnerDriver = item.OwnerDriver; tsowner.Paid_Off = item.Paid_Off; if (add) { db.split_expenses.AddObject(tsowner); } else { db.ObjectStateManager.ChangeObjectState(tsowner, System.Data.EntityState.Modified); } } foreach (var item in lst) { var xxx = db.Temp_Split_Expenses.FirstOrDefault(m => m.ID == item); if (xxx != null) { db.DeleteObject(xxx); } } } #endregion #region Driver Expenses if (!string.IsNullOrEmpty(splitdriver)) { string[] lstID = splitdriver.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries); List <int> lst = new List <int>(); foreach (var item in lstID) { lst.Add(int.Parse(item)); } var lstTrip = db.Temp_Split_Expenses.Where(m => lst.Contains(m.ID)); foreach (var item in lstTrip) { bool add = false; split_expenses tsowner = db.split_expenses.FirstOrDefault(m => m.Id == item.SplitExpensesID); if (tsowner == null) { tsowner = new split_expenses(); add = true; } tsowner.Amount = item.Amount; tsowner.Current_Payroll = item.Current_Payroll; tsowner.Date = item.Date; tsowner.Details = item.Details; tsowner.Expenses = item.Expenses; tsowner.Fee_Charged = item.Fee_Charged; tsowner.Idndex = item.Index; tsowner.OwnerDriver = item.OwnerDriver; tsowner.Paid_Off = item.Paid_Off; if (add) { db.split_expenses.AddObject(tsowner); } else { db.ObjectStateManager.ChangeObjectState(tsowner, System.Data.EntityState.Modified); } } foreach (var item in lst) { var xxx = db.Temp_Split_Expenses.FirstOrDefault(m => m.ID == item); if (xxx != null) { db.DeleteObject(xxx); } } } #endregion #region Escrow Loan if (!string.IsNullOrEmpty(escrowLoan)) { string[] lstID = escrowLoan.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries); List <int> lst = new List <int>(); foreach (var item in lstID) { lst.Add(int.Parse(item)); } var lstEscrowLoan = db.Temp_EscrowLoan.Where(m => lst.Contains(m.ID)); foreach (var item in lstEscrowLoan) { bool add = false; EscrowLoan tEscrowLoan = db.EscrowLoan.FirstOrDefault(m => m.ID == item.EscrowLoanID); if (tEscrowLoan == null) { tEscrowLoan = new EscrowLoan(); add = true; } tEscrowLoan.AmountPaid = item.AmountPaid; tEscrowLoan.TotalAmount = item.TotalAmount; tEscrowLoan.OwnerDriver = item.OwnerDriver; tEscrowLoan.Owner = item.Owner; tEscrowLoan.Expenses = item.Expenses; tEscrowLoan.Balance = item.Balance; tEscrowLoan.CurrentCharge = 0; tEscrowLoan.OwnerDriver = item.OwnerDriver; tEscrowLoan.Escrow_Loan = item.Escrow_Loan; if (add) { db.EscrowLoan.AddObject(tEscrowLoan); } else { db.ObjectStateManager.ChangeObjectState(tEscrowLoan, System.Data.EntityState.Modified); } } foreach (var item in lst) { var xxx = db.Temp_Split_Expenses.FirstOrDefault(m => m.ID == item); if (xxx != null) { db.DeleteObject(xxx); } } } #endregion db.SaveChanges(); var driver = db.Driver_Info.FirstOrDefault(m => m.ID == int.Parse(driverID)); var tempreport = db.TempReport.FirstOrDefault(m => m.ID == id); if (driver != null && tempreport != null) { new BaseController().SavePayrollLog(id, "Processed payroll rollback a few item", driver.ID, tempreport.TotalAmount, driver.Last_name + " " + driver.First_name, false); } return(RedirectToAction("PayrollsRollBack", new { driverID = driverID })); }
public ActionResult NewOrEdit(int?driverID, int?id = 0) { var obj = DB.Entities.Trip_Info.FirstOrDefault(m => m.Trip_ID == id); if (obj == null) { obj = new Trip_Info() { Driver = driverID, Picked = true, Current_Payroll = true, Customer_Invoiced_date = DateTime.Now.Date, Order_date = DateTime.Now, Pickup_date = DateTime.Now }; } #region SELECT OPTION string dataCustomer = "<option value='' >--Select Customer--</option>"; foreach (var item in NationalIT.DB.Entities.Customer_Info) { if (obj != null && obj.Customer == item.Customer_ID) { dataCustomer += string.Format("<option value='{0}' selected='selected'>{1}</option>", item.Customer_ID, item.Customer_Name); } else { dataCustomer += string.Format("<option value='{0}'>{1}</option>", item.Customer_ID, item.Customer_Name); } } ViewBag.dataCustomer = dataCustomer; string dataDispatchers = "<option value=''>--Select Dispatcher--</option>"; foreach (var item in NationalIT.DB.Entities.Dispatchers) { if (obj != null && obj.Dispatcher == item.ID) { dataDispatchers += string.Format("<option value='{0}' selected='selected'>{1} {2}</option>", item.ID, item.Last_name, item.First_name); } else { dataDispatchers += string.Format("<option value='{0}'>{1} {2}</option>", item.ID, item.Last_name, item.First_name); } } ViewBag.dataDispatchers = dataDispatchers; string dataDriver = "<option value=''>--Select Driver--</option>"; foreach (var item in NationalIT.DB.Entities.Driver_Info) { if (obj != null && obj.Driver == item.ID) { dataDriver += string.Format("<option value='{0}' selected='selected'>{1} {2}</option>", item.ID, item.Last_name, item.First_name); } else { dataDriver += string.Format("<option value='{0}'>{1} {2}</option>", item.ID, item.Last_name, item.First_name); } } ViewBag.dataDriver = dataDriver; string dataEquipment = "<option value='' >--Select Equiment--</option>"; foreach (var item in NationalIT.DB.Entities.Equipment) { if (obj != null && obj.Equipment_ID == item.ID) { dataEquipment += string.Format("<option value='{0}' selected='selected'>{1}</option>", item.ID, item.Equipment_number); } else { dataEquipment += string.Format("<option value='{0}'>{1}</option>", item.ID, item.Equipment_number); } } ViewBag.dataEquipment = dataEquipment; var lstCompany = db.Company.ToList(); ViewBag.dataCompany = CommonFunction.BuildDropdown(lstCompany.Select(m => m.ID.ToString()).ToArray(), lstCompany.Select(m => m.Name + " - " + m.Address + " , " + m.FaxNumber).ToArray(), obj.Company, "--Select Company--"); #endregion return(View(obj)); }
private void RollBackAll(int tempReportID) { var db = DB.Entities; var tempreport = db.TempReport.FirstOrDefault(m => m.ID == tempReportID); #region Trips foreach (var item in tempreport.Temp_Trip_Info) { bool add = false; Trip_Info ttrip = db.Trip_Info.FirstOrDefault(m => m.Trip_ID == item.TripID); if (ttrip == null) { ttrip = new Trip_Info(); add = true; } ttrip.Address = item.Address; ttrip.Comfirmed_Rate = item.Comfirmed_Rate; ttrip.Comment = item.Comment; ttrip.Current_Payroll = item.Current_Payroll; ttrip.Customer = item.Customer; ttrip.Customer_Invoiced = item.Customer_Invoiced; ttrip.Customer_Invoiced_date = item.Customer_Invoiced_date; ttrip.Dead_head_miles = item.Dead_head_miles; ttrip.Deliverd = item.Deliverd; ttrip.Delivery_date = item.Delivery_date; ttrip.Delivery_location = item.Delivery_location; ttrip.Detention = item.Detention; ttrip.Detention_pay = item.Detention_pay; ttrip.Dispatcher = item.Dispatcher; ttrip.Driver = item.Driver; ttrip.Driver_paid = item.Driver_paid; ttrip.Equipment_ID = item.Equipment_ID; ttrip.Extra_charges = item.Extra_charges; ttrip.Extra_stops = item.Extra_stops; ttrip.Invoice = item.Invoice; ttrip.Loaded_miles = item.Loaded_miles; ttrip.Order_date = item.Order_date; ttrip.Paid = item.Paid; ttrip.Pick_up_location = item.Pick_up_location; ttrip.Picked = item.Picked; ttrip.Pickup_date = item.Pickup_date; ttrip.PO_ = item.PO_; ttrip.Total_charges = item.Total_charges; if (add) { db.Trip_Info.AddObject(ttrip); } else { db.ObjectStateManager.ChangeObjectState(ttrip, System.Data.EntityState.Modified); } } #endregion #region Fuel Expenses foreach (var item in tempreport.Temp_Fuel_Expenses) { bool add = false; Fuel___Expenses tfuel = db.Fuel___Expenses.FirstOrDefault(m => m.ID == item.FuelExpensesID); if (tfuel == null) { tfuel = new Fuel___Expenses(); add = true; } tfuel.Amount = item.Amount; tfuel.AmountN = item.AmountN; tfuel.Current_Payroll = item.Current_Payroll; tfuel.Date = item.Date; tfuel.Description = item.Description; tfuel.Driver = item.Driver; tfuel.fee_charged = item.fee_charged; tfuel.Fuel_Card = item.Fuel_Card; tfuel.Location = item.Location; tfuel.Paid_off = item.Paid_off; tfuel.Type = item.Type; if (add) { db.Fuel___Expenses.AddObject(tfuel); } else { db.ObjectStateManager.ChangeObjectState(tfuel, System.Data.EntityState.Modified); } } #endregion #region Operating Expenses foreach (var item in tempreport.Temp_Operating_Expenses) { bool add = false; Operating_Expenses toperating = db.Operating_Expenses.FirstOrDefault(m => m.ID == item.OperatingExpensesID); if (toperating == null) { toperating = new Operating_Expenses(); add = true; } toperating.Amount = item.Amount; toperating.Current_Payroll = item.Current_Payroll; toperating.Date = item.Date; toperating.Description = item.Description; toperating.Driver = item.Driver; toperating.Location = item.Location; toperating.Type = item.Type; toperating.Paid_off = item.Paid_off; if (add) { db.Operating_Expenses.AddObject(toperating); } else { db.ObjectStateManager.ChangeObjectState(toperating, System.Data.EntityState.Modified); } } #endregion #region Owner driver Expenses foreach (var item in tempreport.Temp_Split_Expenses) { bool add = false; split_expenses tsowner = db.split_expenses.FirstOrDefault(m => m.Id == item.SplitExpensesID); if (tsowner == null) { tsowner = new split_expenses(); add = true; } tsowner.Amount = item.Amount; tsowner.Current_Payroll = item.Current_Payroll; tsowner.Date = item.Date; tsowner.Details = item.Details; tsowner.Expenses = item.Expenses; tsowner.Fee_Charged = item.Fee_Charged; tsowner.Idndex = item.Index; tsowner.OwnerDriver = item.OwnerDriver; tsowner.Paid_Off = item.Paid_Off; if (add) { db.split_expenses.AddObject(tsowner); } else { db.ObjectStateManager.ChangeObjectState(tsowner, System.Data.EntityState.Modified); } } #endregion #region EscrowLoan foreach (var item in tempreport.Temp_EscrowLoan) { bool add = false; EscrowLoan tEscrowLoan = db.EscrowLoan.FirstOrDefault(m => m.ID == item.EscrowLoanID); if (tEscrowLoan == null) { tEscrowLoan = new EscrowLoan(); add = true; } tEscrowLoan.AmountPaid = item.AmountPaid; tEscrowLoan.TotalAmount = item.TotalAmount; tEscrowLoan.OwnerDriver = item.OwnerDriver; tEscrowLoan.Owner = item.Owner; tEscrowLoan.Expenses = item.Expenses; tEscrowLoan.Balance = item.Balance; tEscrowLoan.CurrentCharge = 0; tEscrowLoan.OwnerDriver = item.OwnerDriver; tEscrowLoan.Escrow_Loan = item.Escrow_Loan; // db.EscrowLoan.AddObject(tEscrowLoan); if (add) { db.EscrowLoan.AddObject(tEscrowLoan); } else { db.ObjectStateManager.ChangeObjectState(tEscrowLoan, System.Data.EntityState.Modified); } } #endregion db.SaveChanges(); // save payroll log var driver = db.Driver_Info.FirstOrDefault(m => m.ID == tempreport.DriverID); if (driver != null) { new BaseController().SavePayrollLog(tempreport.ID, "Processed payroll rollback all", tempreport.DriverID, tempreport.TotalAmount, driver.Last_name + " " + driver.First_name, true); } DeleteItem(db.TempReport, tempreport.ID); //db.ObjectStateManager.ChangeObjectState(tempreport, System.Data.EntityState.Deleted); }
public ActionResult NewOrEdit(Trip_Info model, FormCollection frm) { try { if (model.Dispatcher.HasValue) { var db = DB.Entities; if (frm["Customer_Invoiced_date"] == null) { model.Customer_Invoiced_date = DateTime.Now; } else { model.Customer_Invoiced_date = CommonFunction.ChangeFormatDate(frm["Customer_Invoiced_date"]).Value; } model.Order_date = CommonFunction.ChangeFormatDate(frm["Order_date"]); model.Delivery_date = CommonFunction.ChangeFormatDate(frm["Delivery_date"]); model.Pickup_date = CommonFunction.ChangeFormatDate(frm["Pickup_date"]); if (model.Trip_ID == 0 || model.Invoice == 0) { // New db.Trip_Info.AddObject(model); db.SaveChanges(); model.Invoice = 9999 + model.Trip_ID; var income = new Income() { IncomeDate = DateTime.Now, AmountInvoiced = model.Total_charges, Comments = model.Comment, InvoiceNumber = model.Invoice, Driver = model.Driver_Info != null ? model.Driver_Info.Last_name + " " + model.Driver_Info.First_name : "", FundedAmount = model.Total_charges, }; db.Income.AddObject(income); } else { var income = db.Income.FirstOrDefault(m => m.InvoiceNumber == model.Invoice); if (income != null) { income.IncomeDate = DateTime.Now; income.AmountInvoiced = model.Total_charges; income.Comments = model.Comment; income.InvoiceNumber = model.Invoice; income.Driver = model.Driver_Info != null ? model.Driver_Info.Last_name + " " + model.Driver_Info.First_name : ""; income.FundedAmount = model.Total_charges; } db.AttachTo("Trip_Info", model); db.ObjectStateManager.ChangeObjectState(model, System.Data.EntityState.Modified); } db.SaveChanges(); return(RedirectToAction("Index")); } else { ModelState.AddModelError("Dispatcher", "This field is required"); } } catch { } #region SELECT OPTION string dataCustomer = "<option value=''>--Select Customer--</option>"; foreach (var item in NationalIT.DB.Entities.Customer_Info) { if (model != null && model.Customer == item.Customer_ID) { //dataDispatchers += "{ \"id\": " + item.ID + ", \"label\": \"" + item.Last_name + " " + item.First_name + "\" }"; dataCustomer += string.Format("<option value='{0}' selected='selected'>{1}</option>", item.Customer_ID, item.Customer_Name); } else { dataCustomer += string.Format("<option value='{0}'>{1}</option>", item.Customer_ID, item.Customer_Name); } } ViewBag.dataCustomer = dataCustomer; string dataDispatchers = "<option value=''>--Select Dispatcher--</option>"; foreach (var item in NationalIT.DB.Entities.Dispatchers) { if (model != null && model.Dispatcher == item.ID) { //dataDispatchers += "{ \"id\": " + item.ID + ", \"label\": \"" + item.Last_name + " " + item.First_name + "\" }"; dataDispatchers += string.Format("<option value='{0}' selected='selected'>{1} {2}</option>", item.ID, item.Last_name, item.First_name); } else { dataDispatchers += string.Format("<option value='{0}'>{1} {2}</option>", item.ID, item.Last_name, item.First_name); } } ViewBag.dataDispatchers = dataDispatchers; string dataDriver = "<option value=''>--Select Driver--</option>"; foreach (var item in NationalIT.DB.Entities.Driver_Info) { if (model != null && model.Driver == item.ID) { dataDriver += string.Format("<option value='{0}' selected='selected'>{1} {2}</option>", item.ID, item.Last_name, item.First_name); } else { dataDriver += string.Format("<option value='{0}'>{1} {2}</option>", item.ID, item.Last_name, item.First_name); } } ViewBag.dataDriver = dataDriver; string dataEquipment = "<option value='' >--Select Equiment--</option>"; foreach (var item in NationalIT.DB.Entities.Equipment) { if (model != null && model.Equipment_ID == item.ID) { dataEquipment += string.Format("<option value='{0}' selected='selected'>{1}</option>", item.ID, item.Equipment_number); } else { dataEquipment += string.Format("<option value='{0}'>{1}</option>", item.ID, item.Equipment_number); } } ViewBag.dataEquipment = dataEquipment; var lstCompany = DB.Entities.Company.ToList(); ViewBag.dataCompany = CommonFunction.BuildDropdown(lstCompany.Select(m => m.ID.ToString()).ToArray(), lstCompany.Select(m => m.Name + " - " + m.Address + " , " + m.FaxNumber).ToArray(), model.Company, "--Select Company--"); #endregion return(View(model)); }