public ActionResult AddEdit(InvoiceAddEditModel invoice)
 {
     if (TryValidateModel(invoice))
     {
         invoice.UserId = userRepo.GetDefaultUser("").LogisticUserId;
         _repo.AddEditInvoice(invoice);
     }
     return(Json(1));
 }
 // GET: Invoice
 public ActionResult Index(int invoice = 0)
 {
     if (invoice > 0)
     {
         InvoiceAddEditModel model = _repo.GetInvoice(invoice);
         return(View(model));
     }
     return(RedirectToAction("Search"));
 }
        public ActionResult AddEdit(int invoiceid = 0)
        {
            userRepo.AddDefaultUser();
            InvoiceAddEditModel invoice = new InvoiceAddEditModel();

            invoice.InvoiceTo = new ClientBranchAddEditModel();
            //invoice.InvoiceTo.CompanyName = "Google";
            invoice.InvoiceItems = new List <InvoiceItemAddEditModel>();
            invoice.CGSTRate     = 2.5;
            invoice.SGSTRate     = 2.5;
            //if (invoiceid > 0)
            //    invoice = _repo.GetInvoice(invoiceid);

            return(View(invoice));
        }
Beispiel #4
0
        public bool AddEditInvoice(InvoiceAddEditModel newInvoice)
        {
            var invoice = new Invoice
            {
                FromTime        = newInvoice.FromTime,
                InvoiceId       = newInvoice.InvoiceId,
                CGSTAmount      = newInvoice.CGSTAmount,
                CGSTRate        = newInvoice.CGSTRate,
                GST             = newInvoice.GST,
                InvoiceDate     = newInvoice.InvoiceDate,
                PoNO            = newInvoice.PoNO,
                SACNo           = newInvoice.SACNo,
                SGSTAmount      = newInvoice.SGSTAmount,
                SGSTRate        = newInvoice.SGSTRate,
                ToTime          = newInvoice.ToTime,
                TotalWithoutTax = newInvoice.TotalWithoutTax,
                TotalWithTax    = newInvoice.TotalWithTax,
                InvoiceItems    = newInvoice.InvoiceItems.Select(p => new InvoiceItem
                {
                    InvoiceItemId = p.InvoiceItemId,
                    ItemName      = p.ItemName,
                    ItemQuantity  = p.ItemQuantity,
                    SerialNo      = p.SerialNo,
                    TotalPrice    = p.TotalPrice,
                    PerItemPrice  = 0,
                    InvoiceId     = newInvoice.InvoiceId
                }).ToList(),
                InvoiceTo = new ClientBranch
                {
                    BranchName     = newInvoice.InvoiceTo.BranchName,
                    Address1       = newInvoice.InvoiceTo.Address1,
                    Address2       = newInvoice.InvoiceTo.Address2,
                    Address3       = newInvoice.InvoiceTo.Address3,
                    ClientBranchId = newInvoice.InvoiceTo.ClientBranchId
                },
                InvoiceNumber    = "Google" + DateTime.Now.Ticks.ToString(),
                CompanyAddressId = newInvoice.InvoiceTo.ClientBranchId,
                LogisticUserId   = newInvoice.UserId
            };

            try
            {
                if (invoice.CompanyAddressId > 0)
                {
                    this.Update <ClientBranch>(invoice.InvoiceTo);
                }

                if (invoice.InvoiceId > 0)
                {
                    invoice.InvoiceItems.ForEach((item) =>
                    {
                        if (item.InvoiceItemId > 0)
                        {
                            this.Update <InvoiceItem>(item);
                        }
                        else
                        {
                            this.Add <InvoiceItem>(item);
                        }
                    });
                    this.Update <Invoice>(invoice);
                }
                else
                {
                    this.Add <Invoice>(invoice);
                }
            }
            catch (Exception x)
            {
                return(false);
            }
            return(true);
        }