Exemplo n.º 1
0
        public async Task <IActionResult> Detail(int id)
        {
            IndexPrep();
            try
            {
                KanbanRequest data = await DbContext.KanbanRequest.Where(a => a.KanbanReqId == id).FirstOrDefaultAsync();

                if (id != 0 && data == null)
                {
                    return(NotFound());
                }
                if (id == 0)
                {
                    data = new KanbanRequest();
                    data.RequestDateTime = DateTime.Now;
                    data.StatusId        = 1;
                    data.LotNumber       = 640;
                    data.TagRequestNo    = 0;
                }
                SetViewBag(data);
                //ViewBag.Message = "";
                return(View(data));
            }
            catch (Exception e)
            {
                LogHelp.WriteErrorLog(e);
            }
            return(View());
        }
Exemplo n.º 2
0
        private void SetViewBag(KanbanRequest data)
        {
            if (LoginInfo.RoleId == 2)                                                   //user manufacture
            {
                ViewBag.PartFGList = FrmHelp.GetPartFGListByLine((int)LoginInfo.LineId); //hanya dapat menampilkan part FG dari line nya
            }
            else
            {
                ViewBag.PartFGList = FrmHelp.GetPartFGList(); //menampilkan semua part FG
            }
            ViewBag.PartFGName = "";
            ViewBag.LineNo     = "";
            ViewBag.LineName   = "";
            MsPartFG partFG = DbContext.MsPartFG.Where(a => a.PartFGId == data.PartFGId).FirstOrDefault();

            if (partFG != null)
            {
                ViewBag.PartFGNo   = partFG.PartFGNo;
                ViewBag.PartFGName = partFG.PartFGName;
                MsLine line = DbContext.MsLine.Where(a => a.LineId == partFG.LineId).FirstOrDefault();
                if (line != null)
                {
                    ViewBag.LineNo   = line.LineNo;
                    ViewBag.LineName = line.LineName;
                }
                ViewBag.Action      = "edit";
                ViewBag.KanbanReqId = data.KanbanReqId;
            }
            else
            {
                ViewBag.Action = "add";
            }
        }
Exemplo n.º 3
0
        public IActionResult CancelNote(int id)
        {
            KanbanRequest data = DbContext.KanbanRequest.Where(a => a.KanbanReqId == id).FirstOrDefault();

            if (data == null)
            {
                return(NotFound());
            }
            return(View(data));
        }
Exemplo n.º 4
0
        public HttpResponseMessage Put(int kanbanReqId, [FromBody] KanbanHeader header)
        {
            try
            {
                var authorized = CheckAuthorization();
                if (!authorized)
                {
                    return(new HttpResponseMessage(HttpStatusCode.Unauthorized));
                }

                if (!ModelState.IsValid)
                {
                    return(new HttpResponseMessage(HttpStatusCode.BadRequest));
                }

                //if (string.IsNullOrEmpty(header.KanbanReqId))
                //{
                //    return new HttpResponseMessage(HttpStatusCode.BadRequest);
                //}

                //Console.WriteLine($"PUT /api/kanban/{kanbanReqId}");
                //Console.WriteLine(JsonSerializer.Serialize(header));


                //var userBooks = UserBooks;
                //var existingBook = userBooks.SingleOrDefault(x => x.ISBN == isbn);
                KanbanRequest kanban = DbContext.KanbanRequest.Where(a => a.KanbanReqId == kanbanReqId).FirstOrDefault();
                if (kanban != null)
                {
                    kanban.StatusId       = 4;
                    kanban.ReturnDateTime = DateTime.Now;
                    kanban.EditBy         = 0;
                    kanban.EditDate       = DateTime.Now;
                    DbContext.KanbanRequest.Update(kanban);
                    DbContext.SaveChanges();
                }

                return(new HttpResponseMessage(HttpStatusCode.OK));
            }
            catch (Exception ex)
            {
                return(new HttpResponseMessage(HttpStatusCode.InternalServerError));
            }
        }
Exemplo n.º 5
0
        private int GenerateReqNo()
        {
            int maxReqNo = 0;

            try
            {
                KanbanRequest data = DbContext.KanbanRequest.Where(a => a.RequestDateTime.Year == DateTime.Today.Year && a.RequestDateTime.Month == DateTime.Today.Month)
                                     .OrderByDescending(a => a.TagRequestNo).FirstOrDefault();
                if (data != null)
                {
                    maxReqNo = data.TagRequestNo;
                }
            }
            catch (Exception e)
            {
                LogHelp.WriteErrorLog(e);
            }
            return(maxReqNo + 1);
        }
Exemplo n.º 6
0
        public async Task <IActionResult> CancelSave(KanbanRequest model)
        {
            bool status = false;

            if (string.IsNullOrEmpty(model.CancelNote))
            {
                ModelState.AddModelError("CancelNote", "The Cancel Note field is required");
            }
            //if (ModelState.IsValid)
            else
            {
                KanbanRequest data = await DbContext.KanbanRequest.Where(a => a.KanbanReqId == model.KanbanReqId).FirstOrDefaultAsync();

                try
                {
                    if (data == null)
                    {
                        return(NotFound());
                    }
                    else
                    {
                        data.CancelNote = model.CancelNote;
                        data.StatusId   = 2;
                        data.EditDate   = DateTime.Now;
                        data.EditBy     = LoginInfo.UserId;
                        DbContext.KanbanRequest.Update(data);
                        DbContext.SaveChanges();
                        status = true;
                    }
                }
                catch (Exception e)
                {
                    LogHelp.WriteErrorLog(e);
                }
            }
            IndexPrep();
            return(Json(new { status, html = ViewHelper.RenderRazorViewToString(this, "CancelNote", model) }));
            //return Json(new { status });
        }
Exemplo n.º 7
0
        public async Task <IActionResult> Delete(int id)
        {
            KanbanRequest model = await DbContext.KanbanRequest.Where(a => a.KanbanReqId == id).FirstOrDefaultAsync();

            try
            {
                ViewBag.PartFGNo   = "";
                ViewBag.PartFGName = "";
                ViewBag.LineNo     = "";
                ViewBag.LineName   = "";
                ViewBag.StatusName = "";
                if (model != null)
                {
                    MsPartFG partFG = DbContext.MsPartFG.Where(a => a.PartFGId == model.PartFGId).FirstOrDefault();
                    if (partFG != null)
                    {
                        ViewBag.PartFGNo   = partFG.PartFGNo;
                        ViewBag.PartFGName = partFG.PartFGName;
                        MsLine line = DbContext.MsLine.Where(a => a.LineId == partFG.LineId).FirstOrDefault();
                        if (line != null)
                        {
                            ViewBag.LineNo   = line.LineNo;
                            ViewBag.LineName = line.LineName;
                        }
                    }
                    ViewBag.StatusName = FrmHelp.GetKanbanStatusName(model.StatusId);
                }
                else
                {
                    return(NotFound());
                }
            }
            catch (Exception e)
            {
                LogHelp.WriteErrorLog(e);
            }
            return(View(model));
        }
Exemplo n.º 8
0
        public async Task <IActionResult> DeleteConfirm(int id)
        {
            bool          status = false;
            KanbanRequest data   = await DbContext.KanbanRequest.Where(a => a.KanbanReqId == id).FirstOrDefaultAsync();

            if (data != null)
            {
                List <KanbanReqItem> reqItems = await DbContext.KanbanReqItem.Where(a => a.KanbanReqId == data.KanbanReqId).ToListAsync();

                foreach (KanbanReqItem reqItem in reqItems)
                {
                    DbContext.KanbanReqItem.Remove(reqItem);
                    DbContext.SaveChanges();
                }
                DbContext.KanbanRequest.Remove(data);
                DbContext.SaveChanges();
                status = true;
            }
            else
            {
                return(NotFound());
            }
            return(Json(new { status }));
        }
Exemplo n.º 9
0
        public async Task <IActionResult> Detail(KanbanRequest model, string button)
        {
            ViewBag.Message = "";
            if (button == "cancel" && string.IsNullOrEmpty(model.CancelNote))
            {
                ModelState.AddModelError("CancelNote", "The Cancel Note field is required");
            }

            if (ModelState.IsValid)
            {
                switch (button)
                {
                case "save":
                    model.StatusId = 1;
                    if (model.KanbanReqId == 0)
                    {
                        model.RequestDateTime = DateTime.Now;
                        model.TagRequestNo    = GenerateReqNo();
                    }
                    break;

                case "cancel": model.StatusId = 2; break;

                case "send":
                    model.StatusId     = 3;
                    model.SendDateTime = DateTime.Now;
                    break;

                case "receive":
                    model.StatusId        = 5;
                    model.ReceiveDateTime = DateTime.Now;
                    break;
                }

                KanbanRequest data = await DbContext.KanbanRequest.Where(a => a.KanbanReqId == model.KanbanReqId).FirstOrDefaultAsync();

                try
                {
                    if (data == null)
                    {
                        model.InsertDate = DateTime.Now;
                        model.InsertBy   = LoginInfo.UserId;
                        DbContext.KanbanRequest.Add(model);
                        DbContext.SaveChanges();
                        GenerateItem(model.KanbanReqId, model.PartFGId, model.LotNumber);
                    }
                    else
                    {
                        data.RequestDateTime = model.RequestDateTime;
                        data.TagRequestNo    = model.TagRequestNo;
                        data.StatusId        = model.StatusId;
                        data.PartFGId        = model.PartFGId;
                        data.LotNumber       = model.LotNumber;
                        data.TrolleyNo       = model.TrolleyNo;
                        data.SendDateTime    = model.SendDateTime;
                        data.ReceiveDateTime = model.ReceiveDateTime;
                        data.EditDate        = DateTime.Now;
                        data.EditBy          = LoginInfo.UserId;
                        DbContext.KanbanRequest.Update(data);
                        DbContext.SaveChanges();
                    }
                }
                catch (Exception e)
                {
                    LogHelp.WriteErrorLog(e);
                }

                switch (button)
                {
                case "save":
                    ViewBag.Message = "Data has been saved.";
                    break;

                case "cancel":
                    ViewBag.Message = "Data has been cancelled.";
                    break;

                case "send":
                    ViewBag.Message = "Kanban Request been sent to WH.";
                    break;

                case "receive":
                    ViewBag.Message = "Trolley has been received.";
                    break;
                }
                //return RedirectToAction("Detail", "KanbanRequest", new { id = model.KanbanReqId });
            }
            IndexPrep();
            SetViewBag(model);
            return(View(model));
        }