public ActionResult Process(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } tr_mutation_process mutation_proc = db.tr_mutation_process.Find(id); if (mutation_proc == null) { return(HttpNotFound("Mutation not found.")); } #region "for dropdown Courier" var _courierList = db.ms_courier.Where(t => t.deleted_date == null && t.fl_active == true).Select( t => new { t.courier_id, t.courier_name }).ToList(); SelectList itemsType = new SelectList(_courierList, "courier_id", "courier_name"); ViewBag.courier_id = itemsType; #endregion AssetMutationViewModel mutationprocess = new AssetMutationViewModel(); mutationprocess = DataMutationView(id, mutationprocess); return(View(mutationprocess)); //return View(); }
public ActionResult DeleteConfirmed(int id) { tr_mutation_process tr_mutation_process = db.tr_mutation_process.Find(id); db.tr_mutation_process.Remove(tr_mutation_process); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "mutation_id,request_id,fl_pic_asset_comfirm,pic_asset_confirm_date,pic_asset_employee_id,pic_asset_level_id,courier_id,courier_description,pic_asset_received_date,pic_asset_received_employee_id,pic_asset_received_level_id,user_asset_received_date,user_asset_received_employee_id,user_asset_received_level_id,fl_active,created_date,created_by,updated_date,updated_by,deleted_date,deleted_by,org_id")] tr_mutation_process tr_mutation_process) { if (ModelState.IsValid) { db.Entry(tr_mutation_process).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(tr_mutation_process)); }
// GET: mutation_process/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } tr_mutation_process tr_mutation_process = db.tr_mutation_process.Find(id); if (tr_mutation_process == null) { return(HttpNotFound()); } return(View(tr_mutation_process)); }
public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } tr_mutation_process mutation_proc = db.tr_mutation_process.Find(id); if (mutation_proc == null) { return(HttpNotFound("Assset not found.")); } AssetMutationViewModel mutationprocess = new AssetMutationViewModel(); mutationprocess = DataMutationView(id, mutationprocess); return(View(mutationprocess)); }
public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } //tr_mutation_request mutation_req = db.tr_mutation_request.Find(id); tr_mutation_process mutation_req = db.tr_mutation_process.Find(id); //changed by wisnu if (mutation_req == null) { return(HttpNotFound("Assset not found.")); } AssetMutationViewModel mutationreceive = new AssetMutationViewModel(); mutationreceive = DataMutationView(id, mutationreceive); return(View(mutationreceive)); }
public ActionResult SubmitProcessMutation([Bind(Include = "mutation_id, request_id, Asset_id, fl_pic_asset_comfirm, courier_id, asset_number, asset_name, transfer_to_dept_id, transfer_to_location_id, transfer_to_emp_id")] AssetMutationViewModel mutation_prs) { tr_mutation_process mut_process = db.tr_mutation_process.Find(mutation_prs.mutation_id); //update disposal request and approval data with transaction if (mutation_prs.fl_pic_asset_comfirm == null) { ModelState.AddModelError("fl_pic_asset_comfirm", "PIC Confirmation is mandatory."); } else if (mutation_prs.courier_id == null) { ModelState.AddModelError("courier_id", "Courier is mandatory."); } if (ModelState.IsValid) { using (var transaction = db.Database.BeginTransaction()) { try { #region "Save update Mutation process" if (mutation_prs.fl_pic_asset_comfirm == null) { mut_process.fl_pic_asset_comfirm = false; } else if (mutation_prs.fl_pic_asset_comfirm == true) { //ms_employee_detail ed = db.ms_employee_detail.Find(UserProfile.employee_id); mut_process.fl_pic_asset_comfirm = true; mut_process.pic_asset_confirm_date = DateTime.Now; mut_process.courier_id = mutation_prs.courier_id; mut_process.pic_asset_employee_id = UserProfile.employee_id; //mut_process.pic_asset_level_id = UserProfile. } mut_process.created_by = UserProfile.UserId; mut_process.created_date = DateTime.Now; mut_process.updated_date = DateTime.Now; mut_process.updated_by = UserProfile.UserId; mut_process.deleted_date = null; mut_process.deleted_by = null; db.Entry(mut_process).State = EntityState.Modified; db.SaveChanges(); #endregion #region "kirim email ke PIC Process Mutation" //string emailsetting = string.Empty; //string to_name = string.Empty; //string freetext = string.Empty; //ms_department depTransfer = db.ms_department.Find(mutation_prs.transfer_to_dept_id); //emailsetting = "EMAIL_TEMPLATE_03"; //to_name = "Department " + depTransfer.department_name; //freetext = "PIC Asset Department telah mengirim <strong>" + mutation_prs.asset_name + "(" + mutation_prs.asset_number + ")</strong>."; //var _emailto = app_setting.APPLICATION_SETTING.Where(c => c.app_key.Contains(emailsetting)); //sy_email_log sy_email_log = new sy_email_log(); //sy_email_log.elog_to = _emailto.FirstOrDefault().app_value; //sy_email_log.elog_subject = string.Format("Asset Mutation Ready to Process"); //sy_email_log.elog_template = "EMAIL_TEMPLATE_03"; //#region "body mail" //var _bodymail = app_setting.APPLICATION_SETTING.Where(c => c.app_key.Contains("EMAIL_TEMPLATE_03")); //string strBodyMail = _bodymail.FirstOrDefault().app_value; //strBodyMail = strBodyMail.Replace("[to]", to_name); //strBodyMail = strBodyMail.Replace("[assetnumber]", mutation_prs.asset_number); //strBodyMail = strBodyMail.Replace("[aseetname]", mutation_prs.asset_name); //strBodyMail = strBodyMail.Replace("[assetlocation]", mutation_prs.location_name); //strBodyMail = strBodyMail.Replace("[department]", disposal_prs.department_name); //strBodyMail = strBodyMail.Replace("[suggestion]", "Resale"); //strBodyMail = strBodyMail.Replace("[freetext]", freetext); ////strBodyMail = strBodyMail.Replace("[link]", ""); //sy_email_log.elog_body = strBodyMail; //#endregion //var EmailHelper = new EmailHelper() //{ // ToAddress = sy_email_log.elog_to, // Email_Template = sy_email_log.elog_template, // MailSubject = sy_email_log.elog_subject, // MailBody = sy_email_log.elog_body //}; //EmailHelper.Send(); #endregion transaction.Commit(); ViewBag.ResultMessage = "Update table successfully."; return(RedirectToAction("Index")); } catch (Exception) { // roll back all database operations, if any thing goes wrong transaction.Rollback(); ViewBag.ResultMessage = "Error occured, records rolledback."; } } } mutation_prs = DataMutationView(mutation_prs.request_id, mutation_prs); #region "for dropdown Courier" var _courierList = db.ms_courier.Where(t => t.deleted_date == null && t.fl_active == true).Select( t => new { t.courier_id, t.courier_name }).ToList(); SelectList itemsType = new SelectList(_courierList, "courier_id", "courier_name"); ViewBag.courier_id = itemsType; #endregion return(View(mutation_prs)); }
public ActionResult Approval([Bind(Include = "request_id, asset_id, approval_id, fl_approval, approval_noted, asset_number,asset_name, location_name, department_name, employee_name, transfer_to_location_name, transfer_to_dept_name, transfer_to_emp_name, transfer_to_location_id, transfer_to_dept_id, transfer_to_emp_id")] AssetMutationViewModel mutation_req) { if (mutation_req.fl_approval != null) { if (mutation_req.fl_approval == true) { //if (mutation_req.approval_suggestion_id == null || mutation_req.approval_suggestion_id == 0) // ModelState.AddModelError("approval_suggestion_id", "Suggestion is Mandatory."); } } else if (mutation_req.approval_noted == null || mutation_req.approval_noted.Trim() == string.Empty) { ModelState.AddModelError("fl_approval", "Approval is Mandatory."); ModelState.AddModelError("approval_noted", "Reject Reason is Mandatory."); } //update disposal request and approval data with transaction if (ModelState.IsValid) { using (var transaction = db.Database.BeginTransaction()) { try { bool iscomplete = false; #region "Save update Request Asset Mutation" tr_mutation_request mutation_request = db.tr_mutation_request.Find(mutation_req.request_id); mutation_request.fl_approval = mutation_req.fl_approval; if (mutation_req.fl_approval == true) { var doneapp = (from app in db.tr_mutation_approval where (app.approval_date == null && app.fl_active == true && app.deleted_date == null && app.request_id == mutation_req.request_id) select app).ToList(); if (doneapp.Count == 1) { mutation_request.request_status = 5;//complete iscomplete = true; tr_mutation_process tr = new tr_mutation_process(); tr.request_id = mutation_req.request_id; tr.org_id = UserProfile.OrgId; tr.fl_active = true; tr = db.tr_mutation_process.Add(tr); db.SaveChanges(); } else { mutation_request.request_status = 2;//approve } } else { mutation_request.request_status = 3; //reject } mutation_request.approval_date = DateTime.Now; mutation_request.updated_date = DateTime.Now; mutation_request.updated_by = UserProfile.UserId; mutation_request.deleted_date = null; mutation_request.deleted_by = null; db.Entry(mutation_request).State = EntityState.Modified; db.SaveChanges(); #endregion #region "Save update Approval Mutation" tr_mutation_approval mutation_approval = db.tr_mutation_approval.Find(mutation_req.approval_id); if (mutation_req.fl_approval == true) { mutation_approval.approval_status_id = 2;//approve } else { mutation_approval.approval_status_id = 3; //reject mutation_approval.approval_noted = mutation_req.approval_noted; } mutation_approval.approval_date = DateTime.Now; //mutation_approval.approval_location_id = UserProfile.location_id; --> location_id bukan dari login mutation_approval.updated_date = DateTime.Now; mutation_approval.updated_by = UserProfile.UserId; mutation_approval.deleted_date = null; mutation_approval.deteled_by = null; db.Entry(mutation_approval).State = EntityState.Modified; db.SaveChanges(); #endregion if (mutation_req.fl_approval == true) { if (!iscomplete) { #region "kirim email ke approval" var next_approval = (from app in db.tr_mutation_approval where (app.approval_date == null && app.fl_active == true && app.deleted_date == null) && app.request_id == mutation_req.request_id orderby app.approval_id ascending join a in db.ms_employee on app.approval_employee_id equals a.employee_id where a.fl_active == true && a.deleted_date == null select a).FirstOrDefault <ms_employee>(); if (next_approval != null) { sy_email_log sy_email_log = new sy_email_log(); sy_email_log.elog_to = next_approval.employee_email; sy_email_log.elog_subject = string.Format("Asset Mutation Need Approval"); sy_email_log.elog_template = "EMAIL_TEMPLATE_02"; #region "body mail" var _bodymail = app_setting.APPLICATION_SETTING.Where(c => c.app_key.Contains("EMAIL_TEMPLATE_02")); string strBodyMail = _bodymail.FirstOrDefault().app_value; strBodyMail = strBodyMail.Replace("[to]", next_approval.employee_name); strBodyMail = strBodyMail.Replace("[assetnumber]", mutation_req.asset_number); strBodyMail = strBodyMail.Replace("[assetname]", mutation_req.asset_name); strBodyMail = strBodyMail.Replace("[assetlocation]", mutation_req.location_name); strBodyMail = strBodyMail.Replace("[department]", mutation_req.department_name); strBodyMail = strBodyMail.Replace("[employee]", mutation_req.employee_name); //strBodyMail = strBodyMail.Replace("[link]", ""); sy_email_log.elog_body = strBodyMail; #endregion var EmailHelper = new EmailHelper() { ToAddress = sy_email_log.elog_to, Email_Template = sy_email_log.elog_template, MailSubject = sy_email_log.elog_subject, MailBody = sy_email_log.elog_body }; EmailHelper.Send(); } #endregion #region "Save Sy_Message_notification ke approval" if (next_approval != null) { int empid = Convert.ToInt32(next_approval.employee_id); ms_user msuser = (from m in db.ms_user where m.employee_id == empid select m).FirstOrDefault(); sy_message_notification msg = new sy_message_notification(); msg.notif_group = "BALOON_RECEIPT_03"; msg.notify_user = msuser.user_name; msg.notify_ip = next_approval.ip_address; msg.notify_message = "Ada permintaan approval untuk asset mutasi."; msg.fl_active = true; msg.created_date = DateTime.Now; msg.created_by = UserProfile.UserId; msg.fl_shown = 0; db.sy_message_notification.Add(msg); db.SaveChanges(); } #endregion } else { //kl dh complete??? } } transaction.Commit(); ViewBag.ResultMessage = "Update table successfully."; return(RedirectToAction("Index")); } catch (Exception) { // roll back all database operations, if any thing goes wrong transaction.Rollback(); ViewBag.ResultMessage = "Error occured, records rolledback."; } } } mutation_req = DataMutationView(mutation_req.request_id, mutation_req); return(View(mutation_req)); }