/// <summary> /// create fisical new order /// </summary> /// <returns></returns> private Order NewOrder(string codDocumentProduct) { var c = new Order(); c.CodDocument = documentRepository.GetNewCode(c); c.OrderNumberSerie = DateTime.Now.Year.ToString(); c.OrderNumber = documentRepository.GetNewOrderNumber(c); var docProd = documentRepository.GetDocumentProductByCodDocumentProduct(codDocumentProduct); c.OrderProduct = docProd; c.CodCustomer = docProd.Document.CodCustomer; c.Customer = docProd.Document.Customer; c.DateDocument = DateTime.Now; var allStates = documentRepository.GetAllStates().Where(x => (x.UseInOrder ?? false)).OrderBy(x => x.StateNumber); foreach (var s in allStates) { c.DocumentStates.Add(new DocumentState { CodDocument = c.CodDocument, StateNumber = s.StateNumber, CodState = s.CodState, // StateName = s.StateName, //derivated!!! ResetLinkedStates = s.ResetLinkedStates, Selected = false }); } documentRepository.Add(c); documentRepository.Save(); //se ci sono dei TaskCenter inizio a buttare i taskcenter nel primo taskcenter (IndexOf==0) var taskCenter = taskCenterRepository.GetAll().Where(y => y.IndexOf == 0).FirstOrDefault(); var prod = productRepository.GetSingle(docProd.CodProduct); if (taskCenter != null) { DocumentTaskCenter dtc = new DocumentTaskCenter(); dtc.CodTaskCenter = taskCenter.CodTaskCenter; dtc.CodDocument = c.CodDocument; if (docProd.Product.ProductRefName == null) { dtc.DocumentName = docProd.ProductName; } else { dtc.DocumentName = docProd.Product.ProductRefName; } try { dtc.FieldA = prod.GetColorOfPrinting(); } catch (Exception) { } taskCenterRepository.AddNewDocumentTaskCenter(dtc); taskCenterRepository.Save(); } foreach (var item in prod.ProductParts) { foreach (var p in item.ProductPartPrintableArticles) { //devo caricare nel prodotto anche tutte le informazioni per il magazzino var locations = warehouseRepository.GetWarehouseList(); ViewBag.Locations = locations; //the new movment display warehouse information //plus new movment in accord to warehouse article specify var cost = docProd.Costs.FirstOrDefault(x => x.CodProductPartPrintableArticle == p.CodProductPartPrintableArticle); // cost. var articles = articleRepository.GetAll(); string codArticle; Article art; var extract = articles.GetArticlesByProductPartPrintableArticle(p); var warehouse = warehouseRepository.GetWarehouseList().OrderBy(x => x.CodWarehouse).FirstOrDefault(); var codWarehouse = warehouse != null ? warehouse.CodWarehouse : ""; var costDetail = cost.CostDetails.FirstOrDefault(); try { if (extract.FirstOrDefault() != null) { art = extract.FirstOrDefault(); if (costDetail != null && costDetail.TypeOfCostDetail == CostDetail.CostDetailType.PrintedRollArticleCostDetail) { //carico i dati EditCost(cost.CodCost); CostDetail temp = (CostDetail)Session["CostDetail"]; var h = temp.PrintingFormat.GetSide1(); art = extract.OfType<RollPrintableArticle>().FirstOrDefault(x => x.Width == h); if (art != null) { codArticle = art.CodArticle; } } if (art != null) { Console.Write(art.CodArticle); var z = warehouseRepository.GetSingleArticle(art.CodArticle, codWarehouse); var newMov = new NewMovViewModel(); newMov.ArticleOrProduct = z; newMov.IsProduct = false; newMov.Mov = new WarehouseArticleMov { WarehouseArticle = z, CodDocument = c.CodDocument, CodProductPartPrintableArticle = p.CodProductPartPrintableArticle, CodWarehouseArticle = z == null ? "" : z.CodWarehouseArticle, Quantity = cost == null ? 0 : art.TransformQuantity(cost.Quantity ?? 0, (CostDetail.QuantityType)(cost.CostDetails.Count() != 0 ? (cost.CostDetails.FirstOrDefault().TypeOfQuantity ?? 10) : 10)), TypeOfMov = 3 }; //ilNewMov.dice del movimento lo prendo dalNewMov.dice dell'articolo newMov.Mov.CodWarehouseArticle = newMov.ArticleOrProduct.CodWarehouseArticle; newMov.Mov.CodWarehouseArticleMov = warehouseRepository.GetNewMovCode(newMov.Mov); warehouseRepository.AddMov(newMov.Mov); warehouseRepository.Save(); warehouseRepository.UpdateArticle(warehouseRepository.GetSingle(newMov.Mov.CodWarehouseArticle)); warehouseRepository.Save(); } } } catch (Exception) { } } } return c; }
public ActionResult NewMovProductUnLoad(NewMovViewModel c) { c.Mov.TypeOfMov = 0; //scarico!!!! return NewMovProduct(c); }
public ActionResult NewMovProductReserve(NewMovViewModel c) { c.Mov.TypeOfMov = 3; //impegno!!!! return NewMovProduct(c); }
public ActionResult NewMovProductOrder(NewMovViewModel c) { c.Mov.TypeOfMov = 2; //ordine!!!! return NewMovProduct(c); }
public ActionResult NewMovProductMov(NewMovViewModel c) { var oldWare = c.Mov.WarehouseArticle.CodWarehouse; var newWare = c.CodWarehouseTo; //devo caricare nel prodotto anche tutte le informazioni per il magazzino var locations = warehouseRepository.GetWarehouseList(); ViewBag.Locations = locations; if (ModelState.IsValid) { try { PapiroMVC.Models.WarehouseItem prod; // prod = warehouseRepository.GetSingleProduct(c.ArticleOrProduct.CodProduct, c.ArticleOrProduct.CodWarehouse); c.Mov.TypeOfMov = 0; //scarico!!!! c.Mov.CodWarehouseArticle = c.ArticleOrProduct.CodWarehouseArticle; c.Mov.CodWarehouseArticleMov = warehouseRepository.GetNewMovCode(c.Mov); warehouseRepository.AddMov(c.Mov); warehouseRepository.Save(); warehouseRepository.UpdateArticle(warehouseRepository.GetSingle(c.ArticleOrProduct.CodWarehouseArticle)); warehouseRepository.Save(); prod = warehouseRepository.GetSingle(c.ArticleOrProduct.CodWarehouseArticle); warehouseRepository.SetDbName(CurrentDatabase); c.Mov.TypeOfMov = 1; //scarico!!!! c.Mov.CodWarehouseArticle = newWare + "P" + prod.CodProduct; c.ArticleOrProduct.CodWarehouseArticle = c.Mov.CodWarehouseArticle; c.Mov.CodWarehouseArticleMov = warehouseRepository.GetNewMovCode(c.Mov); warehouseRepository.AddMov(c.Mov); warehouseRepository.Save(); warehouseRepository.UpdateArticle(warehouseRepository.GetSingle(c.ArticleOrProduct.CodWarehouseArticle)); warehouseRepository.Save(); return Json(new { redirectUrl = Url.Action("NewMovProduct", new { CodProduct = prod.CodProduct, CodWarehouse = prod.CodWarehouse }) }); } catch (Exception ex) { ModelState.AddModelError(string.Empty, "Something went wrong. Message: " + ex.Message); } } return PartialView("_NewMovProduct", c); }
public ActionResult NewMovProduct(string codProduct, string codWarehouse) { //devo caricare nel prodotto anche tutte le informazioni per il magazzino var locations = warehouseRepository.GetWarehouseList(); ViewBag.Locations = locations; //the new movment display warehouse information //plus new movment in accord to warehouse article specify var c = warehouseRepository.GetSingleProduct(codProduct, codWarehouse); var newMov = new NewMovViewModel(); newMov.ArticleOrProduct = c; newMov.IsProduct = true; newMov.Mov = new WarehouseArticleMov { WarehouseArticle = c, CodWarehouseArticle = c == null ? "" : c.CodWarehouseArticle }; return View("NewMovProduct", newMov); }
public ActionResult NewMovProduct(NewMovViewModel c) { //devo caricare nel prodotto anche tutte le informazioni per il magazzino var locations = warehouseRepository.GetWarehouseList(); ViewBag.Locations = locations; if (ModelState.IsValid) { try { //il codice del movimento lo prendo dal codice dell'articolo c.Mov.CodWarehouseArticle = c.ArticleOrProduct.CodWarehouseArticle; c.Mov.CodWarehouseArticleMov = warehouseRepository.GetNewMovCode(c.Mov); warehouseRepository.AddMov(c.Mov); warehouseRepository.Save(); warehouseRepository.UpdateArticle(warehouseRepository.GetSingle(c.Mov.CodWarehouseArticle)); warehouseRepository.Save(); var temp = warehouseRepository.GetSingle(c.Mov.CodWarehouseArticle); var newMov = new NewMovViewModel(); newMov.ArticleOrProduct = temp; newMov.Mov = new WarehouseArticleMov { WarehouseArticle = temp, CodWarehouseArticle = temp.CodWarehouseArticle }; return Json(new { redirectUrl = Url.Action("NewMovProduct", new { CodProduct = temp.CodProduct, CodWarehouse = temp.CodWarehouse }) }); } catch (Exception ex) { ModelState.AddModelError(string.Empty, "Something went wrong. Message: " + ex.Message); } } return PartialView("_NewMovProduct", c); }
public ActionResult NewMovArticleReserve(NewMovViewModel c) { c.Mov.TypeOfMov = 3; //impegno!!!! return NewMovArticle(c); }
public ActionResult NewMovArticleUnLoad(NewMovViewModel c) { c.Mov.TypeOfMov = 0; //scarico!!!! return NewMovArticle(c); }
public ActionResult NewMovArticleOrder(NewMovViewModel c) { c.Mov.TypeOfMov = 2; //ordine!!!! return NewMovArticle(c); }