public ActionResult GridViewWorkerPaymentUpdate(Database.WorkerPayment item) { var model = dbWorkerPayment.WorkerPayments; if (ModelState.IsValid) { try { var modelItem = model.FirstOrDefault(it => it.id == item.id); if (modelItem != null) { UpdateModel(modelItem); dbWorkerPayment.SaveChanges(); } } catch (Exception e) { ViewData["EditError"] = e.Message; } } else { ViewData["EditError"] = "Please, correct all errors."; } // var modelToShow = Models.BusinessLogic.Worker.WorkerPayment.GetWorkerPaymentModel(dbWorks, dbWorkerPayment); return(PartialView("_GridViewWorkerPayment", modelToShow)); }
public ActionResult WorkerWorksPartialUpdate(Database.Work item) { var model = dbWorks.Works; if (ModelState.IsValid) { try { if (item.is_paid == 1) { var modelPayments = dbWorkerPayment.WorkerPayments; Database.WorkerPayment workerPayment = new Database.WorkerPayment { // payment_date = DateTime.Now, worker_id = MySession.Current.WorkerId, work_id = item.id, amount = Convert.ToDecimal(item.unit_price_worker) * Convert.ToDecimal(item.surface_work), userId = MySession.Current.UserGuid }; modelPayments.Add(workerPayment); dbWorkerPayment.SaveChanges(); } else { var payments = dbWorkerPayment.WorkerPayments; var payment = dbWorkerPayment.WorkerPayments.FirstOrDefault(x => x.work_id == item.id); if (payment != null) { payments.Remove(payment); } dbWorkerPayment.SaveChanges(); } // var modelItem = model.FirstOrDefault(it => it.id == item.id); if (modelItem != null) { UpdateModel(modelItem); dbWorks.SaveChanges(); } } catch (Exception e) { ViewData["EditError"] = e.Message; } } else { ViewData["EditError"] = "Please, correct all errors."; } return(PartialView("_WorkerWorksPartial", BLWorkers.Works.GetWorkerWorksModel())); }
public ActionResult GridViewWorkerPaymentAddNew(Database.WorkerPayment item) { var model = dbWorkerPayment.WorkerPayments; if (ModelState.IsValid && item.amount > 0) { try { item.worker_id = MySession.Current.WorkerId; item.userId = MySession.Current.UserGuid; item.is_advance_excluded = false; var salary = BLWorkers.WorkerPayment.GetSalary(item.worker_id); if (Convert.ToDecimal(item.amount) == Convert.ToDecimal(salary)) { var works = dbWorks.Works.ToList() .Where(x => (x.worker_id == item.worker_id || BLWorkers.WorkersGroupDetail.GetWorkerGroupIds(item.worker_id).Contains(x.workers_group_id ?? 0)) && x.is_paid == 0) .ToList(); if (works.Count > 0) { works.ToList().ForEach(x => x.is_paid = 1); UpdateModel(works); dbWorks.SaveChanges(); } var payments = dbWorkerPayment.WorkerPayments.ToList().Where(x => x.worker_id == item.worker_id && x.payment_type == (int)PaymentTypes.advance && x.is_advance_excluded == false).ToList(); if (payments.Count > 0) { payments.ToList().ForEach(c => c.is_advance_excluded = true); UpdateModel(payments); dbWorkerPayment.SaveChanges(); } var notice = string.Concat("lucrări: ", String.Join(",", works.Select(x => x.date_end))); notice = string.Concat(notice, " avansuri: ", String.Join(",", payments.Select(x => x.payment_date))); item.notice = notice.Replace("12:00:00 AM", ""); } model.Add(item); dbWorkerPayment.SaveChanges(); } catch (Exception e) { ViewData["EditError"] = e.Message; } } else { ViewData["EditError"] = "Corectați toate erorile, suma trebuie sa fie mai mare decit 0"; } var modelToShow = BLWorkers.WorkerPayment.GetWorkerPaymentModel(dbWorks, dbWorkerPayment); return(PartialView("_GridViewWorkerPayment", modelToShow)); }