//Ambil Id untuk Ubah status saat Approval
        public static ResultResponse Approved(SouvenirRequestViewModel entity)
        {
            ResultResponse result = new ResultResponse();

            try
            {
                using (var db = new MarComContext())
                {
                    T_Souvenir so = db.T_Souvenir.Where(s => s.Id == entity.Id).FirstOrDefault();
                    if (so != null)
                    {
                        so.Reject_Reason = entity.Reject_Reason;
                        so.Status        = entity.Status;

                        if (entity.Status == 2)
                        {
                            so.Settlement_Approved_By   = entity.Settlement_Approved_By;
                            so.Settlement_Approved_Date = DateTime.Now;
                        }

                        db.SaveChanges();
                    }
                }
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Message = ex.Message;
            }
            return(result);
        }
        //APPROVE
        public ActionResult Approve(int id)
        {
            ViewBag.Employee = new SelectList(EmployeeRepo.Get(), "Id", "First_Name");
            SouvenirRequestViewModel model = SouvenirRequestRepo.GetById(id);

            return(PartialView("_Approve", model));
        }
        public static ResultResponse Received(SouvenirRequestViewModel entity)
        {
            ResultResponse result = new ResultResponse();

            try
            {
                using (var db = new MarComContext())
                {
                    T_Souvenir t_Souv = db.T_Souvenir.Where(ts => ts.Id == entity.Id).FirstOrDefault();
                    if (t_Souv != null)
                    {
                        t_Souv.Status = 3;

                        t_Souv.Received_By   = entity.Received_By;
                        t_Souv.Received_Date = DateTime.Now;
                    }
                    db.SaveChanges();
                    result.Message = "Data Updated !! Transaction Souvenir Request with code" + entity.Code + "has been Received By Requester";
                }
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Message = ex.Message;
            }
            return(result);
        }
        public static ResultResponse Settlement(SouvenirRequestViewModel entity, List <SouvenirItemViewModel> entityItem)
        {
            ResultResponse result = new ResultResponse();

            try
            {
                using (var db = new MarComContext())
                {
                    T_Souvenir so = db.T_Souvenir.Where(sou => sou.Id == entity.Id).FirstOrDefault();
                    if (so != null)
                    {
                        so.Status          = 4;
                        so.Settlement_By   = entity.Settlement_By;
                        so.Settlement_Date = DateTime.Now;

                        foreach (var item in entityItem)
                        {
                            T_Souvenir_Item si = db.T_Souvenir_Item.Where(s => s.Id == item.Id).FirstOrDefault();
                            si.Qty_Settlement = item.Qty_Settlement;
                        }
                        db.SaveChanges();
                        result.Message = "Data Updated !! Transaction Souvenir Request with code" + entity.Code + "has been Settled By Requester";
                    }
                }
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Message = ex.Message;
            }
            return(result);
        }
        public static ResultResponse Approve(SouvenirRequestViewModel entity)
        {
            ResultResponse result = new ResultResponse();

            try
            {
                using (var db = new MarComContext())
                {
                    T_Souvenir souv = db.T_Souvenir.Where(s => s.Id == entity.Id).FirstOrDefault();
                    if (souv != null)
                    {
                        souv.Reject_Reason = entity.Reject_Reason;
                        souv.Status        = entity.Status;
                        result.Message     = "Data Rejected !! Transaction Souvenir Request with code " + entity.Code + " is rejected by Administrator";

                        if (entity.Status == 2)
                        {
                            souv.Approve_Date = DateTime.Now;
                            souv.Approved_By  = entity.Approved_By;
                            result.Message    = "Data Approved !! Transaction Souvenir Request with code " + entity.Code + " has been approved.";
                        }
                        db.SaveChanges();
                    }
                }
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Message = ex.Message;
            }
            return(result);
        }
        public static SouvenirRequestViewModel GetById(int id)
        {
            SouvenirRequestViewModel result = new SouvenirRequestViewModel();

            using (var db = new MarComContext())
            {
                result = (from s in db.T_Souvenir
                          join e in db.T_Event on s.T_Event_Id equals e.Id
                          join em in db.M_Employee on s.Request_By equals em.Id
                          where id == s.Id
                          select new SouvenirRequestViewModel
                {
                    Id = s.Id,
                    Code = s.Code,
                    T_Event_Id = s.T_Event_Id,
                    CodeEvent = e.Code,
                    Status = s.Status,
                    Request_By = s.Request_By,
                    Name = em.First_Name + " " + em.Last_Name,
                    Request_Date = s.Request_Date,
                    Request_Due_Date = s.Request_Due_Date,
                    Note = s.Note,
                }).FirstOrDefault();
            }
            return(result);
        }
        public List <SouvenirRequestViewModel> GetListSouvenirBySouvenirTransactionId(int id)
        {
            using (MarcommEntities db = new MarcommEntities())
            {
                var souvenir_items = (from p in db.t_souvenir
                                      where p.id.Equals(id) && p.is_delete == false
                                      select p.t_souvenir_item.ToList()
                                      ).SingleOrDefault();
                List <SouvenirRequestViewModel> souvenirItems = new List <SouvenirRequestViewModel>();
                foreach (var souvenir_item in souvenir_items)
                {
                    SouvenirRequestViewModel souvenirItem = new SouvenirRequestViewModel();
                    souvenirItem.id            = souvenir_item.id;
                    souvenirItem.mSouvenirId   = souvenir_item.m_souvenir_id;
                    souvenirItem.qty           = souvenir_item.qty;
                    souvenirItem.qtySettlement = souvenir_item.qty_settlement;
                    souvenirItem.note          = souvenir_item.note;

                    souvenirItem.souvenirIdToSouvenirName = GetSouvenirNameFromSouvenirId(souvenir_item.m_souvenir_id);

                    souvenirItems.Add(souvenirItem);
                }
                return(souvenirItems);
            }
        }
        public void UpdateSettlementSouvenirRequest(SouvenirRequestViewModel souvenirItem)
        {
            using (MarcommEntities db = new MarcommEntities())
            {
                var dictSouvenirItem = souvenirItem.listId.Zip(souvenirItem.listQtySettlement, (id, qty) => new { id, qty })
                                       .ToDictionary(x => x.id, x => x.qty);

                var souvenir_items = (from p in db.t_souvenir_item
                                      where souvenirItem.listId.ToList().Contains(p.id) && !p.is_delete
                                      select p)
                                     .ToList();

                foreach (var souvenir_item in souvenir_items)
                {
                    souvenir_item.qty_settlement = dictSouvenirItem[souvenir_item.id];
                    souvenir_item.updated_by     = souvenirItem.updatedBy;
                    souvenir_item.updated_date   = DateTime.Now;

                    souvenir_item.t_souvenir.status          = 4;
                    souvenir_item.t_souvenir.settlement_by   = Convert.ToInt32(souvenirItem.updatedBy);
                    souvenir_item.t_souvenir.settlement_date = DateTime.Now;
                    souvenir_item.t_souvenir.update_by       = souvenirItem.updatedBy;
                    souvenir_item.t_souvenir.update_date     = DateTime.Now;

                    db.Entry(souvenir_item).State = EntityState.Modified;
                    db.SaveChanges();
                }
            }
        }
Example #9
0
        public JsonResult UpdateSettlementSouvenirRequest(List <int> id, List <int> qtySettlement)
        {
            long UserId = 0;

            if (Session["DetailUser"] != null)
            {
                var User = Session["DetailUser"] as UserViewModel;
                UserId = User.ID;
            }

            SouvenirRequestViewModel SouvenirItem = new SouvenirRequestViewModel();

            SouvenirItem.listId            = id;
            SouvenirItem.listQtySettlement = qtySettlement;
            SouvenirItem.updatedBy         = UserId;

            string json        = JsonConvert.SerializeObject(SouvenirItem);
            var    buffer      = Encoding.UTF8.GetBytes(json);
            var    byteContent = new ByteArrayContent(buffer);

            byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");

            string              API_END_POINT = API_URL + "SouvenirRequest/SubmitSettlementSouvenirRequest/";
            HttpClient          client        = new HttpClient();
            HttpResponseMessage response      = client.PutAsync(API_END_POINT, byteContent).Result;
            var result = response.Content.ReadAsStringAsync().Result.ToString();

            return(Json(bool.Parse(result), JsonRequestBehavior.AllowGet));
        }
Example #10
0
 public bool Put(SouvenirRequestViewModel SouvenirItem)
 {
     try
     {
         service.UpdateSettlementSouvenirRequest(SouvenirItem);
         return(true);
     }
     catch
     {
         return(false);
     }
 }
        public ActionResult Edit(int id)
        {
            UserViewModel            result = SouvenirRequestRepo.GetIdByName(User.Identity.Name);
            SouvenirRequestViewModel model  = SouvenirRequestRepo.GetById(id);

            if (result.Role == "Staff" || result.Role == "Admin")
            {
                return(PartialView("_Edit", model));
            }
            else
            {
                return(new RedirectToRouteResult(new RouteValueDictionary(new { controller = "AccessDenied", action = "Index" })));
            }
        }
        public ActionResult SouSettItemApproved(SouvenirRequestViewModel model)
        {
            UserViewModel model1 = SouvenirRequestRepo.GetIdByName(User.Identity.Name);

            model.Settlement_Approved_By = model1.M_Employee_Id;
            ResultResponse result = SouvenirRequestRepo.Approved(model);

            return(Json(new
            {
                success = result.Success,
                entity = model,
                message = result.Message
            }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Received(int id)
        {
            UserViewModel            currentUser = SouvenirRequestRepo.GetIdByName(User.Identity.Name);
            SouvenirRequestViewModel model       = SouvenirRequestRepo.GetById(id);

            if (currentUser.Role == "Requester" || currentUser.Role == "Admin")
            {
                return(PartialView("_Received", model));
            }
            else
            {
                return(new RedirectToRouteResult(new RouteValueDictionary(new { controller = "AccessDenied", action = "Index" })));
            }
        }
        public ActionResult SouSettRequest(SouvenirRequestViewModel model, List <SouvenirItemViewModel> itemFile)
        {
            UserViewModel model2 = SouvenirRequestRepo.GetIdByName(User.Identity.Name);

            model.Settlement_By   = model2.M_Employee_Id;
            model.Settlement_Date = DateTime.Now;
            ResultResponse result = SouvenirRequestRepo.Settlement(model, itemFile);

            return(Json(new
            {
                success = result.Success,
                entity = model,
                message = result.Message
            }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Add()
        {
            UserViewModel            result = SouvenirRequestRepo.GetIdByName(User.Identity.Name);
            SouvenirRequestViewModel model  = new SouvenirRequestViewModel();

            ViewBag.Event      = new SelectList(EventRepo.Get(), "Id", "Code");
            model.Request_By   = result.M_Employee_Id;
            model.Name         = result.Fullname;
            model.Code         = SouvenirRequestRepo.GetNewCode();
            model.Request_Date = DateTime.Now;
            if (result.Role == "Staff" || result.Role == "Admin")
            {
                return(PartialView("_Add", model));
            }
            else
            {
                return(new RedirectToRouteResult(new RouteValueDictionary(new { controller = "AccessDenied", action = "Index" })));
            }
        }
 public ActionResult Add(SouvenirRequestViewModel model, List <SouvenirItemViewModel> item)
 {
     if (ModelState.IsValid)
     {
         model.Create_By = User.Identity.Name;
         ResultResponse result = SouvenirRequestRepo.Update(model, item);
         return(Json(new
         {
             success = result.Success,
             message = result.Message
         }, JsonRequestBehavior.AllowGet));
     }
     else
     {
         return(Json(new
         {
             success = false,
             message = "A Required data is still blank, Please fill correctly"
         }, JsonRequestBehavior.AllowGet));
     }
 }
        public static ResultResponse Update(SouvenirRequestViewModel entity, List <SouvenirItemViewModel> entityitem)
        {
            ResultResponse result = new ResultResponse();

            try
            {
                using (var db = new MarComContext())
                {
                    if (entity.Id == 0)
                    {
                        T_Souvenir t_Souv = new T_Souvenir();
                        t_Souv.Code             = entity.Code;
                        t_Souv.Type             = "Additional";
                        t_Souv.T_Event_Id       = entity.T_Event_Id;
                        t_Souv.Request_By       = entity.Request_By;
                        t_Souv.Request_Date     = entity.Request_Date;
                        t_Souv.Request_Due_Date = entity.Request_Due_Date;
                        t_Souv.Note             = entity.Note;
                        t_Souv.Status           = 1;

                        t_Souv.Create_By   = entity.Create_By;
                        t_Souv.Create_Date = DateTime.Now;

                        db.T_Souvenir.Add(t_Souv);
                        db.SaveChanges();

                        foreach (var item in entityitem)
                        {
                            T_Souvenir_Item t_SouvItem = new T_Souvenir_Item();
                            t_SouvItem.T_Souvenir_Id = t_Souv.Id;
                            t_SouvItem.M_Souvenir_Id = item.M_Souvenir_Id;
                            t_SouvItem.Qty           = item.Qty;
                            t_SouvItem.Note          = item.Note;
                            t_SouvItem.Is_Delete     = item.Is_Delete;

                            t_SouvItem.Create_By   = entity.Create_By;
                            t_SouvItem.Create_Date = DateTime.Now;

                            db.T_Souvenir_Item.Add(t_SouvItem);
                            db.SaveChanges();
                        }
                        result.Message = "Data Saved ! Transaction Souvenir Request has been add with code " + entity.Code;
                    }
                    else
                    {
                        T_Souvenir t_Souv = db.T_Souvenir.Where(ts => ts.Id == entity.Id).FirstOrDefault();
                        if (t_Souv != null)
                        {
                            t_Souv.Code             = entity.Code;
                            t_Souv.T_Event_Id       = entity.T_Event_Id;
                            t_Souv.Request_By       = entity.Request_By;
                            t_Souv.Request_Date     = entity.Request_Date;
                            t_Souv.Request_Due_Date = entity.Request_Due_Date;
                            t_Souv.Note             = entity.Note;
                            t_Souv.Status           = 1;

                            t_Souv.Update_By   = entity.Update_By;
                            t_Souv.Update_Date = DateTime.Now;

                            foreach (var item in entityitem)
                            {
                                T_Souvenir_Item t_SouvItem = new T_Souvenir_Item();
                                t_SouvItem.T_Souvenir_Id = entity.Id;
                                t_SouvItem.M_Souvenir_Id = item.M_Souvenir_Id;
                                t_SouvItem.Qty           = item.Qty;
                                t_SouvItem.Note          = item.Note;
                                t_SouvItem.Is_Delete     = item.Is_Delete;

                                if (item.Id == 0)
                                {
                                    t_SouvItem.Create_By   = entity.Update_By;
                                    t_SouvItem.Create_Date = DateTime.Now;
                                }
                                else
                                {
                                    t_SouvItem.Create_By   = item.Create_By;
                                    t_SouvItem.Create_Date = item.Create_Date;
                                    t_SouvItem.Update_By   = entity.Update_By;
                                    t_SouvItem.Update_Date = DateTime.Now;
                                }
                                db.T_Souvenir_Item.Add(t_SouvItem);
                            }
                            db.SaveChanges();
                        }
                        result.Message = "Data Update ! Transaction Souvenir Request with code " + entity.Code + " has been update";
                    }
                }
            }
            catch (Exception ex)
            {
                throw;
                result.Success = false;
                result.Message = ex.Message;
            }
            return(result);
        }
        //GET: Settlement Request
        public ActionResult SouSettRequest(int id)
        {
            SouvenirRequestViewModel model = SouvenirRequestRepo.GetById(id);

            return(PartialView("_SouSettRequest", model));
        }