public ActionResult _DeleteEntryNote(_DeleteEntryNoteViewModel model) { try { EntryNote entryNote = null; if (model.EntryNoteId > 0) { entryNote = context.EntryNote .FirstOrDefault(x => x.EntryNoteId == model.EntryNoteId); entryNote.State = ConstantHelpers.ESTADO.INACTIVO; var lstEntryNoteDetail = context.EntryNoteDetail.Where(x => x.EntryNoteId == entryNote.EntryNoteId).ToList(); lstEntryNoteDetail.ForEach(x => x.State = ConstantHelpers.ESTADO.INACTIVO); var lstStockProductDetail = context.StockProductDetail.Where(x => x.EntryNoteId == entryNote.EntryNoteId).ToList(); lstStockProductDetail.ForEach(x => x.State = ConstantHelpers.ESTADO.INACTIVO); foreach (var item in lstStockProductDetail) { var stock = context.StockProduct.FirstOrDefault(x => x.StockProductId == item.StockProductId); stock.Quantity -= item.Value; } } context.SaveChanges(); PostMessage(MessageType.Success); } catch (Exception ex) { PostMessage(MessageType.Error); } return(RedirectToAction("ListEntryNote", new { FatherId = model.FatherId })); }
public ActionResult DeleteConfirmed(int id) { EntryNote entryNote = db.EntryNote.Find(id); db.EntryNote.Remove(entryNote); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "Id,Date,Total,UserID")] EntryNote entryNote) { if (ModelState.IsValid) { db.Entry(entryNote).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.UserID = new SelectList(db.User, "Id", "Username", entryNote.UserID); return(View(entryNote)); }
// GET: EntryNotes/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } EntryNote entryNote = db.EntryNote.Find(id); if (entryNote == null) { return(HttpNotFound()); } return(View(entryNote)); }
// GET: EntryNotes/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } EntryNote entryNote = db.EntryNote.Find(id); if (entryNote == null) { return(HttpNotFound()); } ViewBag.UserID = new SelectList(db.User, "Id", "Username", entryNote.UserID); return(View(entryNote)); }
public ActionResult AddEditEntryNote(AddEditEntryNoteViewModel model, FormCollection frm) { try { String entryCode = String.Empty; using (var transaction = new TransactionScope()) { EntryNote entryNote = null; if (model.EntryNoteId.HasValue) { PostMessage(MessageType.Warning, "No se puede editar una nota de ingreso."); return(RedirectToAction("ListEntryNote", new { FatherId = model.FatherId })); //entryNote = context.EntryNote.FirstOrDefault(x => x.EntryNoteId == model.EntryNoteId); } else { entryNote = new EntryNote(); entryNote.State = ConstantHelpers.ESTADO.ACTIVO; entryNote.Date = DateTime.Now; entryNote.Time = DateTime.Now.TimeOfDay; context.EntryNote.Add(entryNote); } entryNote.MovementTypeId = model.MovementTypeId; entryNote.SupplierGuideNumber = model.SupplierGuideNumber; entryNote.TransportGuideNumber = model.TransportGuideNumber; entryNote.Seal = model.Seal; entryNote.TransportTime = model.TransportTime; entryNote.DestinationStoreId = model.DestinationStoreId; entryNote.SupplierId = model.SupplierId; entryNote.DocumentCode = model.DocumentCode; entryNote.DocumentId = model.DocumentId; entryNote.Code = model.Code ?? String.Empty; List <StockProduct> lstStockProduct = new List <StockProduct>(); var lstQuantity = frm.AllKeys.Where(x => x.StartsWith("qreal-")).ToList(); foreach (var q in lstQuantity) { var data = q.Replace("qreal-", String.Empty).Split('-'); var PrePurcherseOrderDetailId = data[1].ToInteger(); var index = data[0].ToInteger(); PrePurcherseOrderDetail detail = context.PrePurcherseOrderDetail.FirstOrDefault(x => x.PrePurcherseOrderDetailId == PrePurcherseOrderDetailId); var stockProductDetail = new StockProductDetail(); context.StockProductDetail.Add(stockProductDetail); stockProductDetail.EntryNote = entryNote; stockProductDetail.State = ConstantHelpers.ESTADO.ACTIVO; stockProductDetail.Operation = ConstantHelpers.OPERATION.ENTRY; stockProductDetail.Value = frm["qreal-" + index + "-" + PrePurcherseOrderDetailId].ToDecimal(); stockProductDetail.Date = DateTime.Now; //stockProductDetail.CUPrice = detail.Price; //stockProductDetail.CurrencyId = detail.PrePurcherseOrder.PurcherseOrder.FirstOrDefault(x => x.State == ConstantHelpers.ESTADO.ACTIVO).CurrencyId; var stock = context.StockProduct.FirstOrDefault(x => x.ProductId == detail.ProductId && x.StoreId == model.DestinationStoreId && x.State == ConstantHelpers.ESTADO.ACTIVO); if (stock != null) { stock.Quantity += stockProductDetail.Value; } else { stock = lstStockProduct.FirstOrDefault(x => x.ProductId == detail.ProductId && x.StoreId == model.DestinationStoreId && x.State == ConstantHelpers.ESTADO.ACTIVO); if (stock != null) { stock.Quantity += stockProductDetail.Value; } else { stock = new StockProduct(); stock.Quantity = stockProductDetail.Value; stock.State = ConstantHelpers.ESTADO.ACTIVO; stock.ProductId = detail.ProductId; stock.StoreId = model.DestinationStoreId; lstStockProduct.Add(stock); } //context.StockProduct.Add(stock); } stockProductDetail.StockProduct = stock; EntryNoteDetail entryNoteDetail = new EntryNoteDetail(); entryNoteDetail.EntryNote = entryNote; entryNoteDetail.State = ConstantHelpers.ESTADO.ACTIVO; entryNoteDetail.TypePayment = (frm["typepayment-" + index + "-" + PrePurcherseOrderDetailId] ?? "TOT").ToString(); entryNoteDetail.RealQuantity = frm["qreal-" + index + "-" + PrePurcherseOrderDetailId].ToDecimal(); entryNoteDetail.RealMeasureUnit = "m"; entryNoteDetail.PrePurcherseOrderDetailId = PrePurcherseOrderDetailId; entryNoteDetail.SecRealMeasureUnit = "rollos"; //entryNoteDetail.ProductId = detail.ProductId; entryNoteDetail.SecRealQuantity = frm["qsreal-" + index + "-" + PrePurcherseOrderDetailId].ToDecimal(); context.EntryNoteDetail.Add(entryNoteDetail); } context.StockProduct.AddRange(lstStockProduct); context.SaveChanges(); if (String.IsNullOrEmpty(model.Code)) { entryNote.Code = entryNote.EntryNoteId.ToString(); entryCode = entryNote.Code; context.SaveChanges(); } transaction.Complete(); } PostMessage(MessageType.Success, "Los datos se guardaron exitosamente. Nota de Salida: " + entryCode); return(RedirectToAction("ListEntryNote", new { FatherId = model.FatherId })); } catch (Exception ex) { PostMessage(MessageType.Error); model.Fill(CargarDatosContext(), model.EntryNoteId, model.FatherId); return(View(model)); } }