Beispiel #1
0
        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));
        }
Beispiel #2
0
        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()));
        }
Beispiel #3
0
        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));
        }