Beispiel #1
0
        public ActionResult ApproveBudget(ApproveBudgetFromEmail model)
        {
            if (ModelState.IsValid)
            {
                var ApprovalPosistionID = db.Users.Where(a => a.Username == model.UserName).Select(a => a.PositionID).Single();

                if (!ServiceSkpd.isRequestIDExist(model.RequestID))
                {
                    ModelState.AddModelError("", "RequestID tidak ditemukan!");
                }
                else
                {
                    if (ServiceSkpd.isAlreadyApproveOrReject(model.RequestID, ApprovalPosistionID, 2))
                    {
                        ModelState.AddModelError("", "Request ini sudah pernah di setujui oleh anda!");
                    }
                    else
                    {
                        using (TransactionScope transaction = new TransactionScope())
                        {
                            var FlagCreatedDate = DateTime.Now;
                            //var ApprovalPositionID = db.Users.Where(a => a.Username == model.UserName).Select(a => a.PositionID).Single();
                            var NextApprovalPositionID = db.Positions.Where(a => a.PositionID == ApprovalPosistionID).Select(a => a.AssignID).Single();

                            Request request = db.Requests.Where(a => a.RequestID == model.RequestID).Single();
                            RequestInProgram requestinprogram = db.RequestInPrograms.Where(a => a.RequestID == model.RequestID).Single();

                            request.FlagID = 2;
                            request.FlagCreatedDate = FlagCreatedDate;
                            db.Entry(request).State = EntityState.Modified;
                            db.SaveChanges();

                            string hostUrl = Request.Url.GetComponents(UriComponents.SchemeAndServer, UriFormat.Unescaped);
                            if (ServiceSkpd.SendEmailResultToRequesterCcApprover(request, db, MessengerService))
                            {
                                request.FlagID = 7;
                                request.ApprovalPositionID = 194;
                                request.FlagCreatedDate = FlagCreatedDate;

                                db.Entry(request).State = EntityState.Modified;
                                db.SaveChanges();

                                db.RequestInPrograms.Add(requestinprogram);
                                db.SaveChanges();

                                transaction.Complete();
                                return RedirectToAction("SuccessApprove");
                            }
                            else
                            {
                                ModelState.AddModelError("", "Gagal proses pengajuan");
                                ModelState.AddModelError("", "Gagal mengirim email");
                                ModelState.AddModelError("", "Pastikan anda sedang terhubung koneksi internet");
                            }
                        }
                    }
                }
            }
            return View(model);
        }
Beispiel #2
0
        /// <summary>
        /// APPROVE AND REJECT BUDGET
        /// </summary>
        /// <returns></returns>
        public ActionResult ApproveBudget()
        {
            ApproveBudgetFromEmail model = new ApproveBudgetFromEmail();
            try
            {
                if (Request.QueryString["tiket"] == null)
                {
                    return new HttpNotFoundResult("404 - NotFoundBro");
                }
                else
                {
                    string tiket = Request.QueryString["tiket"];
                    string QueryStringModuleDecrypt = QueryStringModule.Decrypt(tiket);
                    NameValueCollection NameValue = HttpUtility.ParseQueryString(QueryStringModuleDecrypt);
                    var RequestID = NameValue["RequestID"];
                    var UserName = NameValue["UserName"];
                    model.RequestID = Convert.ToInt16(RequestID);
                    model.UserName = UserName;
                    var BudgetID = db.RequestInPrograms.Where(a => a.RequestID == model.RequestID).Select(a => a.ProgramID).Single();
                    var BudgetName = db.RequestInPrograms.Where(a => a.RequestID == model.RequestID).Select(a => a.Program.ProgramName).Single();
                    model.BudgetID = BudgetID.ToString();
                    model.BudgetName = BudgetName;
                }

            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
            }
            return View(model);
        }