예제 #1
0
        public ActionResult SetSalesPerson(int id, int value)
        {
            var entity = SpecialReceipt.Find(id);
            var item   = Employee.TryFind(value);

            if (entity.IsCompleted || entity.IsCancelled)
            {
                Response.StatusCode = 400;
                return(Content(Resources.ItemAlreadyCompletedOrCancelled));
            }

            if (item != null)
            {
                entity.SalesPerson      = item;
                entity.Updater          = CurrentUser.Employee;
                entity.ModificationTime = DateTime.Now;

                using (var scope = new TransactionScope()) {
                    entity.UpdateAndFlush();
                }
            }

            return(Json(new {
                id = id,
                value = entity.SalesPerson.ToString()
            }));
        }
예제 #2
0
        public ActionResult Delivered(int id)
        {
            var specialReceipt = SpecialReceipt.Find(id);

            if (!(specialReceipt.IsCancelled || specialReceipt.IsDelivered))
            {
                using (var scope = new TransactionScope()) {
                    specialReceipt.IsDelivered      = true;
                    specialReceipt.Updater          = CurrentUser.Employee;
                    specialReceipt.ModificationTime = DateTime.Now;

                    specialReceipt.UpdateAndFlush();
                }
            }

            return(RedirectToAction("Index"));
        }
예제 #3
0
        public ActionResult Edit(int id)
        {
            var item = SpecialReceipt.Find(id);

            if (item.IsCompleted || item.IsCancelled)
            {
                return(RedirectToAction("View", new { id = item.Id }));
            }

            if (!CashHelpers.ValidateExchangeRate())
            {
                return(View("InvalidExchangeRate"));
            }

            using (var scope = new TransactionScope()) {
                item.UpdateAndFlush();
            }

            return(View(item));
        }
예제 #4
0
        public ActionResult SetCustomerName(int id, string value)
        {
            var    entity = SpecialReceipt.Find(id);
            string val    = (value ?? string.Empty).Trim();

            if (entity.IsCompleted || entity.IsCancelled)
            {
                Response.StatusCode = 400;
                return(Content(Resources.ItemAlreadyCompletedOrCancelled));
            }

            entity.CustomerName     = (value.Length == 0) ? null : val;
            entity.Updater          = CurrentUser.Employee;
            entity.ModificationTime = DateTime.Now;

            using (var scope = new TransactionScope()) {
                entity.UpdateAndFlush();
            }

            return(Json(new { id = id, value = value }));
        }
예제 #5
0
        public ActionResult PrintFormat(int id)
        {
            var item = SpecialReceipt.Find(id);

            return(PdfView(WebConfig.DeliveryOrderTemplate, item));
        }
예제 #6
0
        public ActionResult Print(int id)
        {
            var item = SpecialReceipt.Find(id);

            return(View("Print", item));
        }
예제 #7
0
        public ViewResult View(int id)
        {
            var item = SpecialReceipt.Find(id);

            return(View(item));
        }