Beispiel #1
0
        public static Response NewPurchase(NewPurchaseView view, string userName)
        {
            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    var user     = db.Users.Where(u => u.UserName == userName).FirstOrDefault();
                    var purchase = new Purchase
                    {
                        CompanyId   = user.CompanyId,
                        ProviderId  = view.ProviderId,
                        Date        = view.Date,
                        Remarks     = view.Remarks,
                        StateId     = DBHelper.GetState("Criado", db),
                        WareHouseId = view.ProviderId
                    };

                    db.Purchase.Add(purchase);
                    db.SaveChanges();
                    var details = db.PurchaseDetailTmps.Where(odt => odt.UserName == userName).ToList();

                    foreach (var detail in details)
                    {
                        var purchaseDetail = new PurchaseDetails
                        {
                            Description = detail.Description,
                            PurchaseId  = purchase.PurchaseId,
                            Price       = detail.Price,
                            ProductId   = detail.ProductId,
                            Quantity    = detail.Quantity,
                            TaxRate     = detail.TaxRate
                        };

                        db.PurchaseDetails.Add(purchaseDetail);
                        db.PurchaseDetailTmps.Remove(detail);
                    }



                    db.SaveChanges();
                    transaction.Commit();
                    return(new Response {
                        Succeeded = true
                    });
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    return(new Response
                    {
                        Message = ex.Message,
                        Succeeded = false
                    });

                    throw;
                }
            }
        }
        public ActionResult Create(NewPurchaseView view)
        {
            if (ModelState.IsValid)
            {
                using (var transaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        var purchase = new Purchase
                        {
                            Date       = view.Date,
                            SupplierId = view.SupplierId,
                            CellarId   = view.CellarId
                        };

                        db.Purchases.Add(purchase);
                        db.SaveChanges();

                        var details = db.PurchaseDetailBkps.Where(pdb => pdb.User == User.Identity.Name).ToList();
                        foreach (var detail in details)
                        {
                            var purchaseDetail = new PurchaseDetail
                            {
                                PurchaseId       = purchase.PurchaseId,
                                ProductId        = detail.ProductId,
                                Description      = detail.Description,
                                Cost             = detail.Cost,
                                Quantity         = detail.Quantity,
                                ManufacturingLot = detail.ManufacturingLot,
                                DueDate          = detail.DueDate
                            };

                            db.PurchaseDetails.Add(purchaseDetail);
                            db.PurchaseDetailBkps.Remove(detail);
                        }

                        db.SaveChanges();
                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        ModelState.AddModelError(string.Empty, ex.Message);
                    }
                }

                return(RedirectToAction("Index"));
            }

            ViewBag.CellarId   = new SelectList(db.Cellars, "CellarId", "Description", view.CellarId);
            ViewBag.SupplierId = new SelectList(db.Suppliers, "SupplierId", "Tradename", view.SupplierId);
            view.Details       = db.PurchaseDetailBkps.Where(pdb => pdb.User == User.Identity.Name).ToList();
            return(View(view));
        }
Beispiel #3
0
        // GET: Purchases/Create
        public ActionResult Create()
        {
            var user = db.Users.Where(u => u.UserName == User.Identity.Name).FirstOrDefault();

            ViewBag.SupplierId  = new SelectList(CombosHelper.GetSuppliers(user.CompanyId), "SupplierId", "FullName");
            ViewBag.WarehouseId = new SelectList(CombosHelper.GetWarehouses(user.CompanyId), "WarehouseId", "Name");
            var view = new NewPurchaseView  {
                Date    = DateTime.Now,
                Details = db.PurchaseDetailTmps.Where(pdt => pdt.UserName == User.Identity.Name).ToList(),
            };

            return(View(view));
        }
        // GET: Purchases/Create
        public ActionResult Create()
        {
            ViewBag.CellarId   = new SelectList(db.Cellars, "CellarId", "Description");
            ViewBag.SupplierId = new SelectList(db.Suppliers, "SupplierId", "Tradename");

            var view = new NewPurchaseView
            {
                Date    = DateTime.Now,
                Details = db.PurchaseDetailBkps.Where(pdb => pdb.User == User.Identity.Name).ToList()
            };

            return(View(view));
        }
Beispiel #5
0
 private void OpenNewPurchase()
 {
     if (DesignerProperties.GetIsInDesignMode(new System.Windows.DependencyObject()))
     {
         return;
     }
     try
     {
         NewPurchaseView P = new NewPurchaseView();
         UI.Enviroment.LoadNewTab(P, "New Purchase");
     }
     catch (Exception E)
     {
         ExepionLogger.Logger.LogException(E);
         ExepionLogger.Logger.Show(E);
     }
 }
Beispiel #6
0
        public ActionResult Create(NewPurchaseView view)
        {
            if (ModelState.IsValid)
            {
                var response = MovementsHelper.NewPurchase(view, User.Identity.Name);
                if (response.Succeeded)
                {
                    return(RedirectToAction("Index"));
                }
                ModelState.AddModelError(string.Empty, response.Message);
            }
            var user = db.Users.Where(u => u.UserName == User.Identity.Name).FirstOrDefault();

            ViewBag.SupplierId  = new SelectList(CombosHelper.GetSuppliers(user.CompanyId), "SupplierId", "FullName");
            ViewBag.WarehouseId = new SelectList(CombosHelper.GetWarehouses(user.CompanyId), "WarehouseId", "Name");
            view.Details        = db.PurchaseDetailTmps.Where(pdt => pdt.UserName == User.Identity.Name).ToList();
            return(View(view));
        }
Beispiel #7
0
        public static Response NewPurchase(NewPurchaseView view, string userName)
        {
            using (var transaccion = db.Database.BeginTransaction())
            {
                try
                {
                    var user     = db.Users.Where(u => u.UserName == userName).FirstOrDefault();
                    var purchase = new Purchase
                    {
                        CompanyId   = user.CompanyId,
                        SupplierId  = view.SupplierId,
                        Date        = view.Date,
                        Remarks     = view.Remarks,
                        StateId     = DBHelper.GetState("Created", db),
                        WarehouseId = view.WarehouseId,
                    };

                    db.Purchases.Add(purchase);
                    db.SaveChanges();

                    var details = db.PurchaseDetailTmps.Where(pdt => pdt.UserName == userName).ToList();

                    foreach (var detail in details)
                    {
                        var purchaseDetail = new PurchaseDetail
                        {
                            Description = detail.Description,
                            PurchaseId  = purchase.PurchaseId,
                            Price       = detail.Price,
                            ProductId   = detail.ProductId,
                            Quantity    = detail.Quantity,
                            TaxRate     = detail.TaxRate,
                        };
                        db.PurchaseDetails.Add(purchaseDetail);
                        db.PurchaseDetailTmps.Remove(detail);


                        var inventory = db.Inventories.Where(i => i.WarehouseId == view.WarehouseId && i.ProductId == detail.ProductId).FirstOrDefault();
                        if (inventory == null)
                        {
                            inventory = new Inventory
                            {
                                WarehouseId = view.WarehouseId,
                                ProductId   = detail.ProductId,
                                Stock       = detail.Quantity,
                            };
                            db.Inventories.Add(inventory);
                        }
                        else
                        {
                            inventory.Stock          += inventory.Stock + detail.Quantity;
                            db.Entry(inventory).State = EntityState.Modified;
                        }
                        //db.SaveChanges();
                    }
                    db.SaveChanges();
                    transaccion.Commit();
                    return(new Response {
                        Succeeded = true
                    });
                }
                catch (Exception ex)
                {
                    transaccion.Rollback();
                    if (ex.InnerException != null && ex.InnerException.InnerException != null)
                    {
                        return(new Response {
                            Succeeded = false, Message = ex.InnerException.InnerException.Message
                        });
                    }
                    else if (ex.InnerException != null)
                    {
                        return(new Response {
                            Succeeded = false, Message = ex.InnerException.Message
                        });
                    }
                    else
                    {
                        return(new Response {
                            Succeeded = false, Message = ex.Message
                        });
                    }
                }
            }
        }
Beispiel #8
0
        private void OpenWindow(string windowName)
        {
            try
            {
                WindowName name   = windowName.ConvertToWindowName();
                Window     window = null;
                switch (name)
                {
                case WindowName.NewSaleView:
                    window = new NewSaleView();
                    break;

                case WindowName.CustomerView:
                    window = new CustomerView();
                    break;

                case WindowName.NewPurchaseView:
                    window = new NewPurchaseView();
                    break;

                case WindowName.SupplierView:
                    window = new SupplierView();
                    break;

                case WindowName.SaleView:
                    window = new SaleView();
                    break;

                case WindowName.PurchaseView:
                    window = new PurchaseView();
                    break;

                case WindowName.ProductView:
                    window = new ProductView();
                    break;

                case WindowName.ServiceView:
                    window = new ServiceView();
                    break;

                case WindowName.ChargeView:
                    window = new ChargeView();
                    break;

                case WindowName.SaleReportView:
                    window = new SaleReportView();
                    break;

                case WindowName.PurchaseReportView:
                    window = new PurchaseReportView();
                    break;

                case WindowName.ProductReportView:
                    window = new ProductReportView();
                    break;
                }

                window?.ShowDialog();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }