// GET: ScrapDetails/EditModal/5
        public ActionResult EditModal(int?scrapDetailId, int?scrapId, int?operationId)
        {
            if (scrapId == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Scrap scrap = _stackpoleContext.Scraps.Find(scrapId);

            if (scrap == null)
            {
                return(HttpNotFound());
            }

            ScrapDetail scrapDetail = _stackpoleContext.ScrapDetails.Where(sd => sd.id == scrapDetailId).FirstOrDefault();

            if (scrapDetail == null)
            {
                return(HttpNotFound());
            }

            getDropDownListForEditScrap(operationId, scrapDetail);

            ViewBag.departmentName = scrap.departmentId;
            ViewBag.plantName      = scrap.plantId;
            ViewBag.partId         = scrap.partId;
            ViewBag.operationName  = scrap.operationId;
            ViewBag.operationId    = operationId;
            ViewBag.unitWeight     = scrap.unitWeight;
            ViewBag.unitCost       = scrap.unitCost;

            return(PartialView("_EditModal", scrapDetail));
        }
        public ActionResult Edit([Bind(Include = "id,scrapId,reasonId,machineId,quantity,weight,cost,employeeNumber")] ScrapDetail scrapDetail, int?operationId)
        {
            if (ModelState.IsValid)
            {
                _stackpoleContext.Entry(scrapDetail).State = EntityState.Modified;
                _stackpoleContext.SaveChanges();

                //return Redirect(Request.QueryString["r"]);
                Scrap scrap = _stackpoleContext.Scraps.Where(s => s.id == scrapDetail.scrapId).FirstOrDefault();

                getDropDownListForEditScrap(operationId, scrapDetail);

                //return View("_EditModal");
                return(RedirectToAction("Index", new
                {
                    plantName = scrap.plantId,
                    departmentName = scrap.departmentId,
                    partId = scrap.partId,
                    operationName = scrap.operationId,
                    operationId = operationId,
                    weight = scrap.unitWeight,
                    cost = scrap.unitCost,
                    scrapId = scrap.id
                }));
                //return Json(new { success = true });
            }
            var errors = ModelState
                         .Where(x => x.Value.Errors.Count > 0)
                         .Select(x => new { x.Key, x.Value.Errors })
                         .ToArray();

            getDropDownListForEditScrap(operationId, scrapDetail);
            return(PartialView("_EditModal", scrapDetail));
        }
        private void getDropDownListForEditScrap(int?operationId, ScrapDetail scrapDetail = null)
        {
            // get data for drop down list of machines
            var getMachNumber = _stackpoleContext.qryMachNumbers
                                .Where(m => m.OperationID == operationId)
                                .GroupBy(m => new { m.machineID })
                                .Select(m => new { m.Key.machineID })
                                .OrderBy(m => m.machineID)
                                .ToList();

            // get data for drop down list of reason
            var getReason = _stackpoleContext.qrySrapReasons
                            .Where(m => m.operationID == operationId)
                            .Select(m => new { m.id, m.description })
                            .OrderBy(m => m.description)
                            .ToList();

            if (scrapDetail == null)
            {
                ViewBag.machineId = new SelectList(getMachNumber, "machineId", "machineId", null);
                ViewBag.reasonId  = new SelectList(getReason, "id", "description", null);
            }
            else
            {
                ViewBag.machineId = new SelectList(getMachNumber, "machineId", "machineId", scrapDetail.machineId);
                ViewBag.reasonId  = new SelectList(getReason, "id", "description", scrapDetail.reasonId);
            }
        }
示例#4
0
        private ScrapDetail NewScrapDetail(string orderID, BoundDetail item, string sizeName, short count)
        {
            ScrapDetail scrap = new ScrapDetail();

            scrap.ScrapOrderID = orderID;
            scrap.CostumeID    = item.CostumeID;
            scrap.ColorName    = item.ColorName;
            scrap.Price        = item.Price;
            scrap.SizeName     = sizeName;
            scrap.ScrapCount   = count;
            return(scrap);
        }
        public JsonResult Save(ScrapViewModel scrapViewModel)
        {
            Scrap scrap = ViewModels.Helpers.CreateScrapFromScrapViewModel(scrapViewModel);

            scrap.date = DateTime.UtcNow;

            _stackpoleContext.Scraps.Attach(scrap);

            if (scrap.ObjectState == ObjectState.Deleted)
            {
                foreach (ScrapDetailViewModel scrapDetailViewModel in scrapViewModel.ScrapDetails)
                {
                    ScrapDetail scrapDetail = _stackpoleContext.ScrapDetails.Find(scrapDetailViewModel.id);
                    if (scrapDetail != null)
                    {
                        scrapDetail.ObjectState = ObjectState.Deleted;
                    }
                }
            }
            else
            {
                foreach (int scrapDetailID in scrapViewModel.ScrapDetailsToDelete)
                {
                    ScrapDetail scrapDetail = _stackpoleContext.ScrapDetails.Find(scrapDetailID);
                    if (scrapDetail != null)
                    {
                        scrapDetail.ObjectState = ObjectState.Deleted;
                    }
                }
            }

            _stackpoleContext.ApplyStateChanges();
            _stackpoleContext.SaveChanges();

            if (scrap.ObjectState == ObjectState.Deleted)
            {
                return(Json(new { newLocation = "/Scraps/Index/" }));
            }

            string messageToClient = ViewModels.Helpers.GetMessageToClient(scrapViewModel.ObjectState, scrap.id.ToString());

            scrapViewModel = ViewModels.Helpers.CreateScrapViewModelFromScrap(scrap);
            scrapViewModel.MessageToClient = messageToClient;

            return(Json(new { scrapViewModel }));
            //var json = Newtonsoft.Json.JsonConvert.SerializeObject(scrapViewModel);
            //return Json(new { json });

            // to convert date format from Microsoft JSON format to normal JSON
            //return new CustomJsonResult { Data = new { scrapViewModel } };
        }
        // GET: ScrapDetails/Delete/5
        public ActionResult Delete(DeleteViewModel deleteViewModel)
        {
            if (deleteViewModel.scrapDetailId == 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ScrapDetail scrapDetail = _stackpoleContext.ScrapDetails.Where(sd => sd.id == deleteViewModel.scrapDetailId).FirstOrDefault();

            if (scrapDetail == null)
            {
                return(HttpNotFound());
            }
            return(PartialView("_DeleteConfirm", deleteViewModel));
        }
        public static Scrap CreateScrapFromScrapViewModel(ScrapViewModel scrapViewModel)
        {
            Scrap scrap = new Scrap();

            scrap.id           = scrapViewModel.id;
            scrap.machineId    = scrapViewModel.machineId;
            scrap.operationId  = scrapViewModel.operationId;
            scrap.partId       = scrapViewModel.partId;
            scrap.plantId      = scrapViewModel.plantId;
            scrap.unitCost     = scrapViewModel.unitCost;
            scrap.unitWeight   = scrapViewModel.unitWeight;
            scrap.date         = scrapViewModel.date;
            scrap.departmentId = scrapViewModel.departmentId;
            scrap.cancelled    = scrapViewModel.cancelled;
            scrap.ObjectState  = scrapViewModel.ObjectState;

            int temporaryScrapDetailId = -1;

            foreach (ScrapDetailViewModel scrapDetailViewModel in scrapViewModel.ScrapDetails)
            {
                ScrapDetail scrapDetail = new ScrapDetail();

                scrapDetail.machineId      = scrapDetailViewModel.machineId;
                scrapDetail.reasonId       = scrapDetailViewModel.reasonId;
                scrapDetail.quantity       = scrapDetailViewModel.quantity;
                scrapDetail.cost           = scrapDetailViewModel.cost;
                scrapDetail.weight         = scrapDetailViewModel.weight;
                scrapDetail.employeeNumber = scrapDetailViewModel.employeeNumber;
                scrapDetail.ObjectState    = scrapDetailViewModel.ObjectState;

                if (scrapDetailViewModel.ObjectState != ObjectState.Added)
                {
                    scrapDetail.id = scrapDetailViewModel.id;
                }
                else
                {
                    scrapDetail.id = temporaryScrapDetailId;
                    temporaryScrapDetailId--;
                }


                scrapDetail.scrapId = scrapViewModel.id;
                scrap.ScrapDetails.Add(scrapDetail);
            }

            return(scrap);
        }
        public ActionResult DeleteConfirmed(DeleteViewModel deleteViewModel)
        {
            ScrapDetail scrapDetail = _stackpoleContext.ScrapDetails.Where(sd => sd.id == deleteViewModel.scrapDetailId).FirstOrDefault();

            _stackpoleContext.ScrapDetails.Remove(scrapDetail);
            _stackpoleContext.SaveChanges();
            Scrap scrap = _stackpoleContext.Scraps.Where(s => s.id == scrapDetail.scrapId).FirstOrDefault();

            return(RedirectToAction("Index", new
            {
                plantName = scrap.plantId,
                departmentName = scrap.departmentId,
                partId = scrap.partId,
                operationName = scrap.operationId,
                operationId = deleteViewModel.operationId,
                weight = scrap.unitWeight,
                cost = scrap.unitCost,
                scrapId = scrap.id
            }));
        }
        //public ActionResult Create([Bind(Include = "id,scrapId,reasonId,machineId,quantity,weight,cost,employeeNumber")] ScrapDetail scrapDetail)
        //public ActionResult CreateNewScrapPost([Bind(Include = "reasonId,machineId,quantity,weight,cost,employeeNumber")] ScrapBasicInfo scrapBasicInfo)
        public ActionResult CreateNewScrapPostModal(ScrapBasicInfoModal scrapBasicInfoModal)
        {
            if (ModelState.IsValid)
            {
                Scrap scrap = new Scrap();

                /* case add first new scrap */
                if (scrapBasicInfoModal.scrapDetailModal.scrapId == 0)
                {
                    scrap.date         = scrapBasicInfoModal.scrapModal.date;
                    scrap.machineId    = scrapBasicInfoModal.scrapDetailModal.machineId;
                    scrap.operationId  = scrapBasicInfoModal.scrapModal.operationId;
                    scrap.partId       = scrapBasicInfoModal.scrapModal.partId;
                    scrap.plantId      = scrapBasicInfoModal.scrapModal.plantId;
                    scrap.unitCost     = scrapBasicInfoModal.scrapModal.unitCost;
                    scrap.unitWeight   = scrapBasicInfoModal.scrapModal.unitWeight;
                    scrap.departmentId = scrapBasicInfoModal.scrapModal.departmentId;
                    //scrap.cancelled = false;

                    _stackpoleContext.Scraps.Add(scrap);
                    _stackpoleContext.SaveChanges();

                    scrapBasicInfoModal.scrapModal.id            = scrap.id;
                    scrapBasicInfoModal.scrapDetailModal.scrapId = scrap.id;
                }

                ScrapDetail scrapDetail = new ScrapDetail();
                scrapDetail.scrapId        = scrapBasicInfoModal.scrapDetailModal.scrapId;
                scrapDetail.reasonId       = scrapBasicInfoModal.scrapDetailModal.reasonId;
                scrapDetail.machineId      = scrapBasicInfoModal.scrapDetailModal.machineId;
                scrapDetail.quantity       = scrapBasicInfoModal.scrapDetailModal.quantity;
                scrapDetail.weight         = scrapBasicInfoModal.scrapDetailModal.weight;
                scrapDetail.cost           = scrapBasicInfoModal.scrapDetailModal.cost;
                scrapDetail.employeeNumber = scrapBasicInfoModal.scrapDetailModal.employeeNumber;

                _stackpoleContext.ScrapDetails.Add(scrapDetail);
                _stackpoleContext.SaveChanges();

                //Index(string plantName, string departmentName, string partId, string operationName, int operationId)
                return(RedirectToAction("Index", new
                {
                    plantName = scrapBasicInfoModal.scrapModal.plantId,
                    departmentName = scrapBasicInfoModal.scrapModal.departmentId,
                    partId = scrapBasicInfoModal.scrapModal.partId,
                    operationName = scrapBasicInfoModal.scrapModal.operationId,
                    operationId = scrapBasicInfoModal.operationIdInt,
                    weight = scrapBasicInfoModal.scrapModal.unitWeight,
                    cost = scrapBasicInfoModal.scrapModal.unitCost,
                    scrapId = scrapBasicInfoModal.scrapDetailModal.scrapId
                }));
            }
            var errors = ModelState
                         .Where(x => x.Value.Errors.Count > 0)
                         .Select(x => new { x.Key, x.Value.Errors })
                         .ToArray();

            //ViewBag.scrapID = new SelectList(db.Scraps, "id", "partId", scrapDetail.scrapId);
            //ViewBag.machineId = new SelectList(db.Scraps, "id", "partId", scrapDetail.scrapId);
            //ViewBag.reasonID = new SelectList(db.ScrapReasons, "id", "description", scrapDetail.reasonId);
            //return View(scrapDetail);

            //return View();
            return(PartialView("_CreateNewScrapModal", scrapBasicInfoModal));
        }
示例#10
0
        public ScrapDetail CreateScrapDetail(Scrap scrap, double rob, double price, Currency currency, Good good, GoodUnit unit, Tank tank)
        {
            var scrapDetail = new ScrapDetail(rob, price, currency, good, unit, tank, scrap,
                scrapDomainService, tankDomainService, currencyDomainService,
                goodDomainService, goodUnitDomainService);

            return scrapDetail;
        }