/* ---------------------------------------------------------------- */ /* HELPERS */ /* ---------------------------------------------------------------- */ /// <summary> /// Set all the secondary data ,like getting the status Name from the status Id /// </summary> /// <param name="sale"> Sale to process </param> /// <param name="saleStatusList"> List with all Sale Status </param> /// <param name="userList"> List of Users </param> public SaleVM ProcessSale(SaleVM sale, List <SaleStatus> saleStatusList, List <Usuario> userList) { if (sale == null || saleStatusList == null || userList == null) { return(null); } // Set Status var thisSaleStatus = saleStatusList.FirstOrDefault(status => status.sale_status_id.Equals(sale.sale_status_id)); sale.sale_status_name = thisSaleStatus?.name ?? string.Empty; // Set Seller var thisSeller = userList.FirstOrDefault(x => x.appuser_id.Equals(sale.seller_id)); sale.seller = thisSeller ?? null; // Set Cashier var thisCashier = userList.FirstOrDefault(x => x.appuser_id.Equals(sale.cashier_id)); sale.cashier = thisCashier ?? null; // Set User var thisUser = userList.FirstOrDefault(x => x.appuser_id.Equals(sale.appuser_id)); sale.user = thisUser ?? null; return(sale); }
public async Task <IActionResult> GetSale([FromRoute] int id) { var sale = await _context.Sales.FindAsync(id); if (sale == null) { return(NotFound()); } SaleVM saleVM = new SaleVM(); List <ArticleRow> articleRows = new List <ArticleRow>(); Article art = await _context.Articles.FirstAsync(); ArticleRow articleRow = new ArticleRow(); articleRow.article = new ArticleVM(); articleRow.article.articleNumber = art.ArticleNumber; articleRow.article.name = art.Name; articleRow.article.salesPrice = (int)art.SalesPrice; articleRow.article.unit = art.Unit; articleRows.Add(articleRow); saleVM.reference = sale.YourReference; saleVM.customer = new SelectedCustomer(); saleVM.customer.customerNumber = sale.CustomerNumber; saleVM.dateCreated = sale.DateCreated.ToString(); saleVM.dateCreated = sale.DateSold.ToString(); saleVM.statusId = (int)sale.StatusId; saleVM.id = sale.Id; saleVM.articleRows = articleRows; return(Ok(saleVM)); }
public ActionResult Sale(SaleVM model) { if (ModelState.IsValid) { var newSale = new Sale { PurchaseType = model.PurchaseType, SaleDate = DateTime.Now, SalePrice = model.SalePrice, SalesPerson = context.Users.FirstOrDefault(u => u.UserName == User.Identity.Name), CarId = model.CarId, SaleCustomer = new Customer { Email = model.Email, Name = model.Name, Phone = model.Phone, CustomerAddress = new Address { State = model.State, City = model.City, Zip = model.Zip, Street1 = model.Street1, Street2 = model.Street2, } } }; repo.SellCar(newSale); return(RedirectToAction("Index")); } return(View(model)); }
//============================================================== // THIS IS BY FAR THE MOST CANCEROUS THING I HAVE EVER FORMATTED // VIEWERS BE WARNED //============================================================== //========================== BEGIN ATTEMPT 01 =================================\\ /*public class transactionList * { * public IEnumerable<SaleItem> itemList { get; private set; } * public Sale s { get; private set; } * * public transactionList(Sale sale, IEnumerable<SaleItem> saleItemList) * { * s = sale; * itemList = saleItemList; * } * } * * private transactionList getTransactionList(int givenID, MusciToolkitDBEntities dbInstance) * { * var sale = db.Sales.SingleOrDefault(x => x.SaleID == givenID); * var saleItemList = db.SaleItems.Where(x => x.SaleID == givenID); * var transaction = new transactionList(sale, saleItemList); * transactionTotalSet(transaction); * return transaction; * } * * public void transactionTotalSet(transactionList x) * { * var allItems = x.itemList; * double totalPrice = 0; * int totalItems = 0; * foreach (var item in allItems) * { * double price = item.Quantity * (double)item.Inventory.SalePrice; * totalPrice += price; * totalItems += item.Quantity; * } * return; * }*/ //========================== END ATTEMPT 01 =================================\\ // TRY THIS ONE //------------------------ /*public class soWithItems * { * public IEnumerable<SaleItem> itemList { get; private set; } * public Sale s { get; private set; } * * public soWithItems(Sale x, IEnumerable<SaleItem> y) * { * s = x; * itemList = y; * } * } * * public soWithItems getOrderWithItems(int givenID, MusciToolkitDBEntities dbInstance) * { * var ansSO = db.Sales.SingleOrDefault(x => x.SaleID == givenID); * var ansList = db.SaleItems.Where(x => x.SaleID == givenID); * foreach (var each in ansList) * { * double currLineCost = (double)each.Quantity * (double)each.Inventory.SalePrice; * each.TotalSIPrice = currLineCost; * each.TotalSI += each.Quantity; * } * db.SaveChanges(); * var ans = new soWithItems(ansSO, ansList); * soTotalSet(ans); * return ans; * } * * public void soTotalSet(soWithItems x) * { * var allItems = x.itemList; * double ans = 0; * int items = 0; * foreach (var line in allItems) * { * double lineTotal = line.Quantity * (double)line.Inventory.SalePrice; * ans += lineTotal; * items += line.Quantity; * } * x.s.TotalSalePrice = ans; * x.s.TotalSaleItems = items; * return; * }*/ /*public double getTotalSalePrice(int id) * { * soWithItems x = getOrderWithItems(id, db); * return x.s.TotalSalePrice; * } * * public int getTotalSaleItems(int id) * { * soWithItems x = getOrderWithItems(id, db); * return x.s.TotalSaleItems; * }*/ public void updateSaleVM(SaleVM saleVM) { List <SaleItem> SaleItemList = new List <SaleItem>(); var allSaleItems = db.SaleItems.ToList(); foreach (var saleItem in allSaleItems) { if (saleItem.Sale.SaleID == Int32.Parse(Session["Current SaleID"].ToString())) { SaleItemList.Add(saleItem); saleVM.Returned = saleItem.Returned; } } int totalItems = 0; double totalPrice = 0; foreach (var item in SaleItemList) { totalItems += item.Quantity; totalPrice += (item.Quantity * (double)item.Inventory.SalePrice); //saleVM.TotalSaleItems = totalItems; //saleVM.TotalSalePrice = totalPrice; } saleVM.TotalSaleItems = totalItems; saleVM.TotalSalePrice = totalPrice; }
public JsonResult AddReturns(SaleVM O) { bool status = false; Sale sale1 = db.Sales.Find(O.IdSale); if (sale1.SaleState == SaleState.Finalizada) { return(new JsonResult { Data = new { status = status } }); } Sale sale2 = sale1; sale1.Comments = O.Comments; sale1.SaleTotal = O.SaleTotal; sale1.LinesTotal = O.LinesTotal; sale1.ReturnsTotal = O.ReturnsTotal; int count = 0; foreach (var i in O.SaleLines) { //sale1.SaleLines.ElementAt(count).LineQuantity = i.LineQuantity; sale1.SaleLines.ElementAt(count).LinePrice = i.LinePrice; sale1.SaleLines.ElementAt(count).LineDiscount = i.LineDiscount; sale1.SaleLines.ElementAt(count).LineTotal = i.LineTotal; sale1.SaleLines.ElementAt(count).Return = i.Return; sale1.SaleLines.ElementAt(count).LineTotalReturn = i.LineTotalReturn; count++; } db.Entry(sale1).State = EntityState.Modified; db.SaveChanges(); Sale saledata = sale1; foreach (var item in saledata.SaleLines) { Product prod = new Product(); prod = db.Products.Find(item.IdProduct); prod.Stock = prod.Stock - item.LineQuantity + item.Return; prod.ParcialStock = prod.ParcialStock + item.Return; db.Entry(prod).State = EntityState.Modified; db.SaveChanges(); } saledata.SaleState = SaleState.Finalizada; db.Entry(saledata).State = EntityState.Modified; db.SaveChanges(); status = true; return(new JsonResult { Data = new { status = status, id = sale1.IdSale } }); }
public ActionResult Sale(int id) { var model = new SaleVM(); model.CarId = id; return(View(model)); }
public ActionResult Purchase() { SaleVM model = new SaleVM(); model.SetStateItems(); model.SetPurchaseTypeItems(); return(View(model)); }
public ActionResult Purchase(SaleVM sold) { var details = new DetailsVM(); details.Vehicle = VehicleRepositoryFactory.GetVehicleRepository().GetVehicleByVIN(sold.Sale.VinNumber); details.BodyStyles = BodyStyleRepositoryFactory.GetBodyStyleRepository().GetBodyStyles(); details.Colors = ColorRepositoryFactory.GetColorRepository().GetColors(); details.Makes = MakeRepositoryFactory.GetMakeRepository().GetMakes(); details.Models = ModelRepositoryFactory.GetModelRepository().GetModels(); details.Transmission = TransmissionTypeRepositoryFactory.GetTransmissionTypeRepository().GetTransmissions(); sold.Details = details; if (sold.Sale.Phone == null && sold.Sale.Email == null) { ModelState.AddModelError("", "You must enter a phone number or an email address."); } if (sold.Sale.Zipcode.Length > 5) { ModelState.AddModelError("", "Zipcode should only be 5 digits long, please."); } if (sold.Sale.PurchasePrice < ((sold.Details.Vehicle.MSRP * 95) * .01m)) { ModelState.AddModelError("", "Purchase price should not be lower than 95% vehicle MSRP, please recalculate."); } if (sold.Sale.PurchasePrice > sold.Details.Vehicle.MSRP) { ModelState.AddModelError("", "Purchase price should not be greater than MSRP, please recalculate."); } var repo = SaleRepositoryFactory.GetSaleRepository(); if (ModelState.IsValid) { sold.Sale.UserID = User.Identity.GetUserId(); sold.Sale.PurchaseDate = DateTime.Now; } var result = repo.Add(sold.Sale); if (result != null) { var vehicleToUpdate = VehicleRepositoryFactory.GetVehicleRepository().GetVehicleByVIN(sold.Sale.VinNumber); vehicleToUpdate.IsPurchased = true; vehicleToUpdate.IsFeatured = false; VehicleRepositoryFactory.GetVehicleRepository().Edit(vehicleToUpdate); return(View("Index")); } // assign sold.UserID to currently logged in user // assign sold.PurchaseDate to DateTime.Now // if saving the purchase is a success, update vehicle.IsPurchased to true and vehicle.IsFeatured to false; return(View()); }
// GET: PanelBoss/SaleBoss public ActionResult SaleList() { SaleVM svm = new SaleVM { Sales = _saleRep.GetActives(), }; return(View(svm)); }
public int AddOrder(SaleVM sale) { var sp = "SP_AddOrder"; param.AddDynamicParams(sale); var result = sql.Execute(sp, param, commandType: CommandType.StoredProcedure); return(result); }
public async Task <IActionResult> Create([FromBody] SaleVM model) { if (ModelState.IsValid) { if (await _service.AddSV(model)) { return(new CreatedAtRouteResult(nameof(GetById), new { id = model.Id }, model)); } } return(BadRequest("No se ha podido hacer la venta")); }
// GET: Sale/Details/5 public ActionResult Details(int id) { Sale sale = manager.returnSaleByID(id); string employeeName = employeeManager.getEmployeeByEmployeeID(sale.EmployeeID).getEmployeeName(); string customerName = customerManager.getCustomerByID(sale.CustomerID).getName(); SaleVM sale2 = new SaleVM(sale, employeeName, customerName); ViewBag.Title = "Sale Details"; return(View(sale2)); }
public IActionResult Detail(int?id) { Sale sale = _db.Sales.Include(s => s.SaleProducts).ThenInclude(s => s.Product).ThenInclude(p => p.ProductImages).FirstOrDefault(s => s.Id == id); List <ProductImage> images = _db.ProductImages.Where(i => i.IsMain == true).ToList(); SaleVM saleVM = new SaleVM { Sale = sale, ProductImages = images }; return(View(sale)); }
public IActionResult Buy() { if (Request.Cookies["cart"] != null) { string b = Request.Cookies["cart"]; SaleVM saleVM = new SaleVM() { ProductVM = JsonConvert.DeserializeObject <List <ProducttVM> >(b) }; return(View(saleVM)); } return(View()); }
public async Task <ActionResult <Sale> > PostSale([FromBody] SaleVMStr saleVMStr) { // string customerNumber = (saleVM != null && saleVM.SelectedCustomer != null && Convert.ToInt32(saleVM.SelectedCustomer.CustomerNumber) > 0) ? saleVM.SelectedCustomer.CustomerNumber : ""; SaleVM saleVM = saleVMStr.SaleVm.GetObjectFronJson <SaleVM>(); //using var transaction = _context.Database.BeginTransaction(); { try { //List<SaleArticle> saleArticles = new List<SaleArticle>(); //if (saleVM != null && saleVM.articleRows != null && saleVM.articleRows.Count > 0) //{ // foreach (var item in saleVM.articleRows) // { // saleArticles.Add(new SaleArticle() // { // ArticleNumber = item.article.articleNumber, // Price = item.article.salesPrice, // Quantity = item.quantity, // TotalSum = item.article.salesPrice * item.quantity, // Description = item.article.description, // }); // } //} Sale sale = new Sale(); sale.CustomerNumber = saleVM.customer.customerNumber; sale.YourReference = saleVM.reference; //sale.SaleArticles = saleArticles; sale.DateCreated = DateTime.Parse(saleVM.dateCreated.Substring(0, 10)); sale.DateSold = DateTime.Parse(saleVM.dateSold.Substring(0, 10)); sale.StatusId = (Status)saleVM.statusId; sale.UserId = 1; // HACK: Fixxa // sale.UserId = 2; _context.Sales.Add(sale); await _context.SaveChangesAsync(); //transaction.Commit(); } catch (Exception e) { //transaction.Rollback(); } } return(CreatedAtAction(nameof(GetSale), new { id = saleVM.id }, saleVM)); }
public IActionResult LoadShopBonus(string selectedDate, int skip) { DateTime date = Convert.ToDateTime(selectedDate); SaleVM saleViewModel = new SaleVM(); saleViewModel.AvialableShops = _context.Shops.Select(y => new AvialableShop { SaleSalary = _context.Sales.Where(x => x.Date.Year == date.Year && x.Date.Month == date.Month && x.ShopId == y.ID).Sum(x => x.SaleSalary), ShopName = y.Name, SelectedDate = date, ShopId = y.ID }).Skip(skip).Take(2).ToList(); return(View(saleViewModel)); }
public IActionResult ShopBonus(string selectedDate) { DateTime date = Convert.ToDateTime(selectedDate); SaleVM sale = new SaleVM(); sale.AvialableShops = _context.Shops.Select(y => new AvialableShop { ShopId = y.ID, SaleSalary = _context.Sales.Where(x => x.Date.Year == date.Year && x.Date.Month == date.Month && x.ShopId == y.ID).Sum(x => x.SaleSalary), ShopName = y.Name, SelectedDate = date, }).ToList(); return(View(sale)); }
public SaleVM Add(SaleVM entity) { try { var sale = _mapper.Map <Sale>(entity); _unitOfWork.SetTrackAll(); IList <DeliveryDetail> deliveriesBoxes = new List <DeliveryDetail>(); foreach (var saleProduct in sale.SalesProducts) { if (entity.HasDelivery) { var boxes = _unitOfWork.RepositoryCustom <IBoxRepository>().GetBoxesParentsByOrderIDWithProductItems(sale.OrderID); foreach (var box in boxes) { DeliveryDetail deliveryDetail = DeliveryDetail.FactoryCreate(sale.ClientID, saleProduct.ProductID, sale.OrderID, saleProduct.Quantity); deliveryDetail.MakeDeliveryBox(box); deliveriesBoxes.Add(deliveryDetail); } _unitOfWork.Repository <Box>().UpdateRange(boxes); } saleProduct.CalcTotalValue(); } sale.CalculatePayment(); _unitOfWork.Repository <DeliveryDetail>().AddRange(deliveriesBoxes); _unitOfWork.Repository <Sale>().Add(sale); _unitOfWork.CommitSync(); return(entity); } catch (CustomException exc) { _unitOfWork.Rollback(); throw exc; } catch (Exception ex) { _unitOfWork.Rollback(); throw CustomException.Create <SaleApplicationService>("Unexpected error fetching add sale", nameof(this.Add), ex); } }
public async Task <IActionResult> PutSale(int id, [FromBody] SaleVMStr saleVMStr) { SaleVM saleVM = saleVMStr.SaleVm.GetObjectFronJson <SaleVM>(); var existingSale = await _context.Sales.FindAsync(id); if (existingSale is null) { return(NotFound()); } if (id != saleVM.id) { return(BadRequest()); } //List<SaleArticle> saleArticles = new List<SaleArticle>(); //foreach (ArticleRow item in saleVM.articleRows) //{ // saleArticles.Add(new SaleArticle() // { // ArticleNumber = item.article.articleNumber, // Price = item.article.salesPrice, // Quantity = item.quantity, // TotalSum = item.article.salesPrice * item.quantity, // Description = item.article.description // }); //} existingSale.CustomerNumber = saleVM.customer.customerNumber; existingSale.YourReference = saleVM.reference; existingSale.DateCreated = DateTime.Parse(saleVM.dateCreated.Substring(0, 10)); existingSale.DateSold = DateTime.Parse(saleVM.dateSold.Substring(0, 10)); existingSale.StatusId = (Status)saleVM.statusId; //existingSale.SaleArticles = saleArticles; try { _context.Entry(existingSale).State = EntityState.Modified; _context.SaveChanges(); } catch (DbUpdateConcurrencyException ex) { throw (ex); } return(StatusCode((int)HttpStatusCode.OK)); }
// POST: Products/Create public ActionResult CreateOrder(SaleVM order) { try { httpClient.DefaultRequestHeaders.Add("Authorization", HttpContext.Session.GetString("Token")); var myContent = JsonConvert.SerializeObject(order); var buffer = System.Text.Encoding.UTF8.GetBytes(myContent); var byteContent = new ByteArrayContent(buffer); byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var affectedRow = httpClient.PostAsync("Sales", byteContent).Result; return(Json(new { data = affectedRow, affectedRow.StatusCode })); } catch { return(View()); } }
public IActionResult ShopBonus(decimal requiredSalary, decimal bonus, SaleVM saleVM, int bonusform) { //if (!ModelState.IsValid || requiredSalary == 0 || bonusform != 1 || bonusform != 0) //{ // return View(saleVM); //} List <WorkerBonus> addBonus = new List <WorkerBonus>(); List <Shop> shops = new List <Shop>(); List <Worker> workers = new List <Worker>(); foreach (var item in saleVM.AvialableShops) { if (item.SaleSalary >= requiredSalary) { var shop = _context.Shops.Where(x => x.ID == item.ShopId).ToList(); shops.AddRange(shop); } } foreach (var shop in shops) { var work = _context.Users.Where(x => x.Worked == true).Include(x => x.Position).Where(x => x.ShopId == shop.ID).ToList(); workers.AddRange(work); } foreach (var work in workers) { if (bonusform == 1) { addBonus.Add(new WorkerBonus { BonusDate = DateTime.Now, BonusSalary = bonus, Reason = "For great shopping", WorkerId = work.Id }); } else if (bonusform == 0) { addBonus.Add(new WorkerBonus { BonusDate = DateTime.Now, BonusSalary = (work.Position.Salary) / 100 * bonus, Reason = "For great shopping", WorkerId = work.Id }); } } _context.WorkerBonus.AddRange(addBonus); _context.SaveChanges(); return(RedirectToAction("List", "Shop")); }
public JsonResult CreateSale(SaleVM O) { //CustomerName contiene el id del cliente bool status = false; Sale sale = new Sale(); var cusid = Int32.Parse(O.CustomerName); if (ModelState.IsValid) { sale.SaleDate = O.SaleDate; sale.SaleAddress = O.SaleAddress; sale.Comments = O.Comments; sale.SaleTotal = O.SaleTotal; sale.IdCustomer = cusid; db.Sales.Add(sale); db.SaveChanges(); foreach (var i in O.SaleLines) { SaleLine saleline = new SaleLine(); saleline.IdProduct = i.IdProduct; saleline.LinePrice = i.LinePrice; saleline.LineDiscount = i.LineDiscount; saleline.LineQuantity = i.LineQuantity; saleline.LineTotal = i.LineTotal; saleline.IdSale = sale.IdSale; db.SaleLines.Add(saleline); db.SaveChanges(); Product prod = new Product(); prod = db.Products.Find(i.IdProduct); prod.ParcialStock = prod.ParcialStock - i.LineQuantity; db.Entry(prod).State = EntityState.Modified; db.SaveChanges(); } status = true; } else { status = false; } return(new JsonResult { Data = new { status = status } }); }
public async Task <bool> AddSV(SaleVM model) { try { var sale = new Sale() { ClientId = model.ClientId, EmployeeId = model.EmployeeId, CreatedAt = DateTime.Now, SaleCode = model.SaleCode, State = State.active, Total = model.Total }; if (await Add(sale)) { //retorna el ultimo elemento agregado para sacar el id var saleId = await _dbContext.Sales.OrderByDescending(x => x.CreatedAt).FirstAsync(); foreach (var item in model.Products) { var p = await _dbContext.Products.FindAsync(item.Id); p.Quantity -= item.Quantity; await _dbContext.SaleProducts .AddAsync(new SaleProduct { CreateAt = DateTime.Now, ProductId = item.Id, Quantity = item.Quantity, SaleId = saleId.Id }); _dbContext.Products.Update(p); } } await _dbContext.SaveChangesAsync(); return(true); } catch (Exception) { return(false); } }
// GET: Sale public ActionResult Index() { List <Sale> sales = manager.returnAllSales(); List <SaleVM> saleVMs = new List <SaleVM>(); foreach (Sale sale in sales) { string employeeName = employeeManager.getEmployeeByEmployeeID(sale.EmployeeID).getEmployeeName(); string customerName = customerManager.getCustomerByID(sale.CustomerID).getName(); SaleVM sale2 = new SaleVM(sale, employeeName, customerName); saleVMs.Add(sale2); } ViewBag.Title = "Sales List"; return(View(saleVMs)); }
public ActionResult Purchase(string vinNumber) { var details = new DetailsVM(); details.Vehicle = VehicleRepositoryFactory.GetVehicleRepository().GetVehicleByVIN(vinNumber); details.BodyStyles = BodyStyleRepositoryFactory.GetBodyStyleRepository().GetBodyStyles(); details.Colors = ColorRepositoryFactory.GetColorRepository().GetColors(); details.Makes = MakeRepositoryFactory.GetMakeRepository().GetMakes(); details.Models = ModelRepositoryFactory.GetModelRepository().GetModels(); details.Transmission = TransmissionTypeRepositoryFactory.GetTransmissionTypeRepository().GetTransmissions(); var viewModel = new SaleVM(); viewModel.Sale = new GuildCars.Models.Tables.Sale(); viewModel.Sale.VinNumber = vinNumber; viewModel.Details = details; return(View(viewModel)); }
private GenricApartment <ListsVM, RentVM, SaleVM, ApartmentVM> PopulateLists(string lists, Action <Rent, Sale, Apartment> action) { ListsVM listsVm = new ListsVM() { Bedrooms = lists.GetSelectListAsync("bedrooms", "bedroomsCount"), Countries = lists.GetSelectListAsync("countries", "country").OrderBy(o => o.Text), Furnishings = lists.GetSelectListAsync("furnishings", "furnitureType"), Owners = lists.GetSelectListAsync("owners", "fullName").OrderBy(o => o.Text) }; RentVM rent = new RentVM() { Periods = lists.GetSelectListAsync("periods", "period") }; SaleVM sale = new SaleVM(); ApartmentVM apartment = new ApartmentVM(); action.Invoke(rent.Rent, sale.Sale, apartment.Apartment); return(new GenricApartment <ListsVM, RentVM, SaleVM, ApartmentVM>(listsVm, rent, sale, apartment)); }
public IList <SaleVM> GetSales(int customerId) { List <SaleVM> l = new List <SaleVM>(); foreach (var s in db.Sales.Where(sale => sale.CustomerId == customerId)) { var data = new SaleVM(); data.OnDate = s.OnDate; data.SaleId = s.SaleId; data.Total = s.DeliveryPrice; foreach (var sd in db.SaleDetails.Where(i => i.SaleId == s.SaleId)) { data.ItemCount += sd.Quantity; data.Total += sd.Price * sd.Quantity * (100.0M - sd.Discount) / 100.0M; } l.Add(data); } return(l); }
public JsonResult AddStock(SaleVM O) { //CustomerName contiene el id del cliente bool status = false; foreach (var i in O.SaleLines) { Product prod = new Product(); prod = db.Products.Find(i.IdProduct); prod.ParcialStock = prod.ParcialStock + i.LineQuantity; prod.Stock = prod.Stock + i.LineQuantity; db.Entry(prod).State = EntityState.Modified; db.SaveChanges(); } status = true; return(new JsonResult { Data = new { status = status } }); }
public ActionResult SetInvoice(SaleVM saleVM) { var sepet = (CartVM)Session["Sepet"]; var customer = rpcustomer.Find(saleVM.CustomerID); InvoiceVM model = new InvoiceVM(); model.CustomerName = customer.Name; model.Address = customer.Address; model.City = rpcity.Find(customer.CityID).Name; model.Region = rpregion.Find(customer.RegionID).Name; model.TaxOffice = customer.IsPerson ? "" : customer.TaxOffice; model.TaxNumber = customer.IsPerson ? "T.C. " + customer.TCNo : customer.TaxNumber; model.ProductList = sepet.ProductList; model.TotalSalePrice = sepet.TotalSalePrice; model.PriceString = saleVM.PriceString; model.DateOfArrangement = String.Format("{0:d/M/yyyy}", saleVM.InvoiceDate); model.HourOfArrangement = String.Format("{0:HH:mm}", saleVM.InvoiceDate); decimal kdv = 0; model.KDVList = new List <decimal>(); model.KDVStringList = new List <string>(); model.KDVList.Add(model.TotalUnitPrice); model.KDVStringList.Add("TOPLAM"); foreach (var item in model.ProductList) { if (item.KDV != kdv) { model.KDVList.Add(Math.Round(model.ProductList.Where(x => x.KDV == item.KDV).Sum(x => x.KdvPrice), 2)); model.KDVStringList.Add("KDV %" + Convert.ToInt32(item.KDV * 100)); } kdv = item.KDV; } model.KDVList.Add(model.TotalSalePrice); model.KDVStringList.Add("G.TOPLAM"); Session.Remove("Sepet"); return(View(model)); }
public async Task <IActionResult> Index() { List <Sale> sales = _db.Sales.ToList(); List <SaleVM> saleVMs = new List <SaleVM>(); foreach (Sale sale in sales) { AppUser user = await _userManager.FindByIdAsync(sale.AppUserId); SaleVM saleVM = new SaleVM { Id = sale.Id, Date = sale.Date, Total = sale.Total, Email = user.Email, Fullname = user.Fullname, SaleProducts = _db.SaleProducts.Where(sp => sp.SaleId == sale.Id).Include(sp => sp.Product).ToList() }; saleVMs.Add(saleVM); } return(View(saleVMs)); }