public bookCarDetailModel detail(bookCarModel value) { bookCarDetailModel result = new bookCarDetailModel(); try { using (var context = new StandardCanEntities()) { if (String.IsNullOrEmpty(value.user_id)) { throw new Exception("Unauthorized Access"); } var userId = JwtHelper.GetUserIdFromToken(value.user_id); var userGroup = JwtHelper.GetUserGroupFromToken(value.user_id); if (String.IsNullOrEmpty(userId)) { throw new Exception("Unauthorized Access"); } if (userGroup == "1" || userGroup == "2" || userGroup == "4") { result.button.reject = false; result.button.approve = false; result.button.cancel = true; result.button.save_draft = true; result.button.save_send = true; } else if (userGroup == "3") { result.button.reject = true; result.button.approve = true; result.button.cancel = true; result.button.save_revise = true; result.button.save_draft = true; result.button.save_send = false; } //if (userGroup == "1") //{ // result.button.reject = false; // result.button.approve = false; // result.button.cancel = true; // result.button.save_draft = true; // result.button.save_send = true; //} //else if (userGroup == "2") //{ // result.button.reject = true; // result.button.approve = true; // result.button.cancel = false; // result.button.save_draft = false; // result.button.save_send = false; //} string sql = ""; sql = "select convert(nvarchar(5), MCT_ID) code "; sql += " , MCT_NAME [text] "; sql += " from MAS_CAR_TYPE "; sql += " where MCT_STATUS = 1 "; sql += " order by MCT_NAME "; result.car_type = context.Database.SqlQuery <dropdown>(sql).ToList(); sql = "select convert(nvarchar(5), MCA_ID) code "; sql += " , MCA_NAME [text] "; sql += " from MAS_CAR "; sql += " where MCA_STATUS = 1 "; sql += " order by MCA_NAME "; result.car_license = context.Database.SqlQuery <dropdown>(sql).ToList(); sql = "select convert(nvarchar(5), MCR_ID) code "; sql += " , MCR_NAME[text] "; sql += " from MAS_CAR_REASON "; sql += " where MCR_STATUS = 1 "; sql += " order by MCR_NAME "; result.car_reason = context.Database.SqlQuery <dropdown>(sql).ToList(); sql = "select convert(nvarchar(5), MDT_ID) code "; sql += " , MDT_NAME [text] "; sql += " from MAS_DESTINATION "; sql += " where MDT_STATUS = 1 "; sql += " order by MDT_NAME "; result.car_dest = context.Database.SqlQuery <dropdown>(sql).ToList(); if (string.IsNullOrEmpty(value.id)) { result.button.reject = false; result.button.cancel = false; result.button.save_revise = false; } else { result.emp_list = context.sp_bookcar_emp(value.id).ToList(); var h = context.BOOK_CAR.Where(p => p.BC_ID.ToString().Equals(value.id)).FirstOrDefault(); if (h != null) { result.id = h.BC_ID.ToString(); result.topic = h.bc_topic ?? ""; result.start_date = h.bc_start_date == null ? "" : Convert.ToDateTime(h.bc_start_date).ToString("dd/MM/yyyy"); result.start_time = h.bc_start_time ?? ""; result.stop_date = h.bc_stop_date == null ? "" : Convert.ToDateTime(h.bc_stop_date).ToString("dd/MM/yyyy"); result.stop_time = h.bc_stop_time ?? ""; result.person_total = h.bc_person_total == null ? "" : h.bc_person_total.ToString(); result.car_type_id = h.MCT_ID == null ? "" : h.MCT_ID.ToString(); result.car_id = h.MCA_ID == null ? "" : h.MCA_ID.ToString(); result.reason_id = h.MCR_ID == null ? "" : h.MCR_ID.ToString(); result.dest_id = h.MDT_ID == null ? "" : h.MDT_ID.ToString(); result.remark = h.bc_remark ?? ""; if (h.bc_request_by != null) { result.bc_request = h.bc_request_by.ToString(); var emp_request = context.EMP_PROFILE.SingleOrDefault(a => a.emp_code == h.bc_request_by.ToString()); if (emp_request != null) { result.bc_request_name = emp_request.emp_fname + " " + emp_request.emp_lname; } } if (h.bc_status == 1) { result.read_only = true; result.button.reject = false; result.button.approve = false; result.button.save_revise = false; result.button.cancel = false; result.button.save_draft = false; result.button.save_send = false; if (userGroup == "3") { result.button.reject = true; result.button.approve = true; result.button.save_draft = true; result.button.cancel = false; result.button.save_revise = false; result.button.save_send = false; result.read_only = false; } if (h.bc_create_by.ToString() == userId) { result.read_only = false; result.button.save_draft = true; if (userGroup != "3") { result.button.cancel = true; result.button.save_send = true; } } } else if (h.bc_status == 2) { result.read_only = true; result.button.cancel = false; result.button.save_draft = false; result.button.save_send = false; if (userGroup == "3") { result.button.save_revise = true; result.read_only = false; } else { result.button.save_revise = false; } if (h.bc_create_by.ToString() == userId) { result.button.cancel = true; } } else if (h.bc_status == 0 || h.bc_status == 3 || h.bc_status == 4 || h.bc_status == 5) { result.button.reject = false; result.button.approve = false; result.button.cancel = false; result.button.save_draft = false; result.button.save_send = false; if (userGroup == "3") { result.button.save_revise = true; } else { result.button.save_revise = false; } //if (h.bc_status == 3) //{ // result.button.gen_qrCode = true; //} result.read_only = true; } else if (h.bc_status == 6) { var emp_sh_request = context.EMP_PROFILE.SingleOrDefault(a => a.EMP_ID == h.bc_appr_by); if (emp_sh_request != null) { if (h.bc_appr_by.ToString() == userId) { result.button.reject = true; result.button.approve = true; } else { result.button.reject = false; result.button.approve = false; } } else { result.button.reject = false; result.button.approve = false; } result.button.cancel = false; result.button.save_revise = false; result.button.save_draft = false; result.button.save_send = false; result.read_only = true; } } } } } catch (Exception ex) { throw new Exception(ex.Message); } return(result); }