예제 #1
0
        public ActionResult Create(InvoiceFormStub model, bool print = false)
        {
            if (model.AdditionalItemText != null && model.AdditionalItemText != "")
            {
                model.AdditionalItem = new JavaScriptSerializer().Deserialize <List <InvoiceItemFormStub> >(model.AdditionalItemText);
            }
            //bool isNameExist = RepoCar.Find().Where(p => p.name == model.Name).Count() > 0;

            if (ModelState.IsValid)
            {
                invoice dbItem = model.GetDbObject((User as CustomPrincipal).Identity.Name);

                RepoInvoice.Save(dbItem);

                if (model.AdditionalItem != null && model.AdditionalItem.Count() > 0)
                {
                    foreach (InvoiceItemFormStub single in model.AdditionalItem)
                    {
                        RepoInvoice.SaveItem(single.GetDbObject(dbItem.id));
                    }
                }

                //message
                string template = HttpContext.GetGlobalResourceObject("MyGlobalMessage", "CreateSuccess").ToString();
                this.SetMessage(model.Code, template);

                //print flag
                if (print)
                {
                    TempData["idPrint"] = dbItem.id;
                }

                return(RedirectToAction("Index"));
            }
            else
            {
                Guid?idOwner = (User as CustomPrincipal).IdOwner;
                List <Business.Entities.rent> listRent = new List <rent>();

                if (idOwner.HasValue)
                {
                    listRent = RepoRent.FindAll().Where(x => x.id_owner == idOwner.Value).ToList();
                }

                model.FillRentOptions(listRent);
                model.FillStatusOptions();

                return(View("Form", model));
            }
        }
예제 #2
0
        public ActionResult Index()
        {
            var model = new InvoiceFormStub();
            StatisticPresentationStub sp = new StatisticPresentationStub();

            sp = GetStatistic();

            model.FillStatusOptions();
            ViewBag.ListStatus = model.GetStatusOptions();

            //print
            Guid?printId = null;

            if (TempData["idPrint"] != null)
            {
                printId = TempData["idPrint"] as Nullable <Guid>;
            }
            ViewBag.PrintId = printId;

            return(View("Index", sp));
        }
예제 #3
0
        public ActionResult Create()
        {
            Guid?idOwner = (User as CustomPrincipal).IdOwner;
            List <Business.Entities.rent> listRent = new List <rent>();

            if (idOwner.HasValue)
            {
                listRent = RepoRent.FindAll().Where(x => x.id_owner == idOwner.Value).ToList();
            }
            else
            {
                var wrapper = new HttpContextWrapper(System.Web.HttpContext.Current);
                return(this.InvokeHttp404(wrapper, System.Net.HttpStatusCode.Forbidden));
            }

            InvoiceFormStub formStub = new InvoiceFormStub(listRent);

            formStub.Status = InvoiceStatus.UNPAID.ToString();

            return(View("Form", formStub));
        }
예제 #4
0
        public ActionResult Edit(Guid id)
        {
            Guid?idOwner = (User as CustomPrincipal).IdOwner;
            List <Business.Entities.rent> listRent = new List <rent>();

            if (idOwner.HasValue)
            {
                listRent = RepoRent.FindAll().Where(x => x.id_owner == idOwner.Value).ToList();
            }
            else
            {
                var wrapper = new HttpContextWrapper(System.Web.HttpContext.Current);
                return(this.InvokeHttp404(wrapper, System.Net.HttpStatusCode.Forbidden));
            }

            invoice         dbItem     = RepoInvoice.FindByPk(id);
            InvoiceFormStub detailStub = new InvoiceFormStub(dbItem, listRent);

            ViewBag.Name = dbItem.code;

            return(View("Form", detailStub));
        }
예제 #5
0
        public ActionResult Edit(InvoiceFormStub model, bool print = false)
        {
            if (model.AdditionalItemText != null && model.AdditionalItemText != "")
            {
                model.AdditionalItem = new JavaScriptSerializer().Deserialize <List <InvoiceItemFormStub> >(model.AdditionalItemText);
            }

            //kamus
            invoice             dbItem = RepoInvoice.FindByPk(model.Id);
            List <invoice_item> items;
            InvoiceItemFormStub itemFS;
            List <invoice_item> deleted = new List <invoice_item>();

            //algoritma
            if (ModelState.IsValid)
            {
                //save invoice
                dbItem = model.SetDbObject(dbItem, (User as CustomPrincipal).Identity.Name);
                RepoInvoice.Save(dbItem);

                //save invoice_item
                items = dbItem.invoice_item.ToList();
                foreach (invoice_item item in items)
                {
                    itemFS = model.AdditionalItem.Where(m => m.Id == item.id).FirstOrDefault();
                    if (itemFS != null)
                    {
                        itemFS.SetDbObject(item);
                        RepoInvoice.SaveItem(item);
                    }
                    else
                    {
                        deleted.Add(item);
                    }
                }

                if (model.AdditionalItem != null)
                {
                    foreach (InvoiceItemFormStub single in model.AdditionalItem.Where(m => m.Id == null).ToList()) //new items
                    {
                        RepoInvoice.SaveItem(single.GetDbObject(dbItem.id));
                    }
                }

                foreach (invoice_item single in deleted)
                {
                    RepoInvoice.DeleteItem(single);
                }


                //message
                string template = HttpContext.GetGlobalResourceObject("MyGlobalMessage", "EditSuccess").ToString();
                this.SetMessage(model.Code, template);

                //print flag
                if (print)
                {
                    TempData["idPrint"] = dbItem.id;
                }

                return(RedirectToAction("Index"));
            }
            else
            {
                Guid?idOwner = (User as CustomPrincipal).IdOwner;
                List <Business.Entities.rent> listRent = new List <rent>();
                if (idOwner.HasValue)
                {
                    listRent = RepoRent.FindAll().Where(x => x.id_owner == idOwner.Value).ToList();
                }

                model.FillRentOptions(listRent);
                model.FillStatusOptions();

                ViewBag.Name = dbItem.code;

                return(View("Form", model));
            }
        }