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); }
/// <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); }