Beispiel #1
0
        public static string GetAllRequestJSON(string search_text, string RequestID)
        {
            //Security Check
            if (!Controller_User_Access.CheckProgramAccess(AccessProgramCode, RequestID, "read"))
            {
                throw new Exception("No Access.");
            }
            //Get current user info
            SYS_UserView            current_user = Controller_User.GetUser(RequestID, RequestID);
            LINQ_MeetingDataContext dc           = new LINQ_MeetingDataContext();

            //Security Check For AllDepartment
            string departmentID = "";

            if (!Controller_User_Access.CheckProgramAccess(AccessProgramCode, RequestID, "allDepartment"))
            {
                departmentID = current_user.DepartmentID;
            }

            List <MET_RequestView> the_requestlist = (from c in dc.MET_RequestViews
                                                      where c.Active == true && (departmentID == "" || (departmentID != "" && c.DepartmentID == departmentID)) &&
                                                      ((search_text == "") ||
                                                       (search_text != "" && (

                                                            c.RequestNo.Contains(search_text) ||
                                                            c.RequestStatus.Contains(search_text) ||
                                                            c.RequestTitle.Contains(search_text) ||
                                                            c.RequestType.Contains(search_text) ||
                                                            c.Description.Contains(search_text) ||
                                                            c.Remark.Contains(search_text) ||
                                                            c.DepartmentName.Contains(search_text))))
                                                      orderby c.CreatedOn descending
                                                      select c
                                                      ).ToList();
            var lists = new Newtonsoft.Json.Linq.JArray() as dynamic;

            foreach (var row in the_requestlist)
            {
                dynamic request = new Newtonsoft.Json.Linq.JObject();

                request.RequestID       = row.RequestID;
                request.DepartmentID    = row.DepartmentID;
                request.RequestType     = row.RequestType;
                request.RequestNo       = row.RequestNo;
                request.RequestUserName = row.RequestUserName;
                request.RequestTitle    = row.RequestTitle;
                request.RequestStatus   = row.RequestStatus;
                request.RequestOn       = row.RequestOn;
                request.DepartmentName  = row.DepartmentName;
                request.ApprovalStatus  = row.ApprovalStatus;
                lists.Add(request);
            }

            return(lists.ToString());
        }
Beispiel #2
0
        public static MET_RequestView GetRequestByID(string meeting_reqID, string RequestID)
        {
            //Security Check
            if (!Controller_User_Access.CheckProgramAccess(AccessProgramCode, RequestID, "read"))
            {
                throw new Exception("No Access.");
            }

            LINQ_MeetingDataContext dc = new LINQ_MeetingDataContext();

            return((from c in dc.MET_RequestViews where c.RequestID == meeting_reqID && c.Active == true select c).FirstOrDefault());
        }
Beispiel #3
0
        public static string DeleteRequest(string meetingreq_id, string user_id, string RequestID)
        {
            //Security Check
            if (!Controller_User_Access.CheckProgramAccess(AccessProgramCode, RequestID, "delete"))
            {
                throw new Exception("No Access.");
            }

            LINQ_MeetingDataContext dc = new LINQ_MeetingDataContext();

            try
            {
                MET_Request request_record = new MET_Request();
                request_record = (from c in dc.MET_Requests where c.RequestID == meetingreq_id && c.Active == true select c).FirstOrDefault();
                if (request_record == null)
                {
                    return("Error~We can't find");
                }
                request_record.Active     = false;
                request_record.ModifiedOn = DateTime.Now;
                request_record.ModifiedBy = user_id;
                request_record.LastAction = Guid.NewGuid().ToString();

                #region Request Item
                List <MET_RequestItem> item_list = new List <MET_RequestItem>();
                item_list = (from c in dc.MET_RequestItems where c.RequestID == meetingreq_id && c.Active == true select c).ToList();
                foreach (MET_RequestItem i in item_list)
                {
                    i.Active     = false;
                    i.ModifiedBy = RequestID;
                    i.ModifiedOn = DateTime.Now;
                }
                #endregion

                #region Request Decision
                List <MET_RequestDecision> decision_list = new List <MET_RequestDecision>();
                decision_list = (from c in dc.MET_RequestDecisions where c.RequestID == meetingreq_id && c.Active == true select c).ToList();
                foreach (MET_RequestDecision i in decision_list)
                {
                    i.Active     = false;
                    i.ModifiedBy = RequestID;
                    i.ModifiedOn = DateTime.Now;
                }
                #endregion

                dc.SubmitChanges(ConflictMode.ContinueOnConflict);
                return("Success~");
            }
            catch (ChangeConflictException ex)
            {
                return("Success~");
            }
        }
Beispiel #4
0
        public static string ChangeCombineDecision(string agendaID, string meetingreq_id, string edited_decision, string user_id)
        {
            //Security Check
            if (!Controller_User_Access.CheckProgramAccess(AccessProgramCode, user_id, "update"))
            {
                throw new Exception("No Access.");
            }

            LINQ_MeetingDataContext dc = new LINQ_MeetingDataContext();

            try
            {
                MET_Request request_record = new MET_Request();
                request_record = (from c in dc.MET_Requests where c.RequestID == meetingreq_id && c.Active == true select c).FirstOrDefault();
                if (request_record == null)
                {
                    return("Error~We can't find");
                }
                request_record.CombineDecision = edited_decision;
                request_record.ModifiedOn      = DateTime.Now;
                request_record.ModifiedBy      = user_id;
                request_record.LastAction      = Guid.NewGuid().ToString();

                dc.SubmitChanges(ConflictMode.ContinueOnConflict);

                #region get all request

                SYS_UserView current_user = Controller_User.GetUser(user_id, user_id);
                //Security Check For AllDepartment
                string departmentID = "";
                if (!Controller_User_Access.CheckProgramAccess(AccessProgramCode, user_id, "allDepartment"))
                {
                    departmentID = current_user.DepartmentID;
                }

                List <MET_RequestView> reqs_list = (from c in dc.MET_RequestViews
                                                    where c.Active == true && c.AgendaID == agendaID && (departmentID == "" || (departmentID != "" && c.DepartmentID == departmentID))
                                                    orderby c.Protocol ascending
                                                    select c).ToList();

                string return_str = new JavaScriptSerializer().Serialize(reqs_list);
                #endregion
                return("Success~" + return_str);
            }
            catch (ChangeConflictException ex)
            {
                return("Success~");
            }
        }
Beispiel #5
0
        public static string GetAllAgendaJSON(string search_text, string RequestID)
        {
            //Security Check
            if (!Controller_User_Access.CheckProgramAccess(AccessProgramCode, RequestID, "read"))
            {
                throw new Exception("No Access.");
            }
            //Get current user info
            SYS_UserView            current_user = Controller_User.GetUser(RequestID, RequestID);
            LINQ_MeetingDataContext dc           = new LINQ_MeetingDataContext();

            //Security Check For AllDepartment
            string departmentID = "";

            if (!Controller_User_Access.CheckProgramAccess(AccessProgramCode, RequestID, "allDepartment"))
            {
                departmentID = current_user.DepartmentID;
            }
            List <MET_AgendaView> the_agendalist = (from c in dc.MET_AgendaViews
                                                    where c.Active == true && (departmentID == "" || (departmentID != "" && c.DepartmentID == departmentID)) &&
                                                    ((search_text == "") ||
                                                     (search_text != "" && (

                                                          c.AgendaNo.Contains(search_text) ||
                                                          c.AgendaRemark.Contains(search_text) ||
                                                          c.AgendaStatus.Contains(search_text) ||
                                                          c.CUserCode.Contains(search_text) ||
                                                          c.MUserCode.Contains(search_text)
                                                          )))
                                                    orderby c.CreatedOn descending
                                                    select c
                                                    ).ToList();
            var lists = new Newtonsoft.Json.Linq.JArray() as dynamic;

            foreach (var row in the_agendalist)
            {
                dynamic agenda = new Newtonsoft.Json.Linq.JObject();

                agenda.AgendaID     = row.AgendaID;
                agenda.AgendaNo     = row.AgendaNo;
                agenda.AgendaDate   = row.AgendaDate.ToString();
                agenda.AgendaRemark = row.AgendaRemark;
                agenda.AgendaStatus = row.AgendaStatus;
                lists.Add(agenda);
            }

            return(lists.ToString());
        }
Beispiel #6
0
        public static string GetAllRequestDecisionJson(string meeting_requsetID, string org_id, string RequestID)
        {
            //Security Check
            if (!Controller_User_Access.CheckProgramAccess(AccessProgramCode, RequestID, "read"))
            {
                throw new Exception("No Access.");
            }

            LINQ_MeetingDataContext        dc = new LINQ_MeetingDataContext();
            List <MET_RequestDecisionView> reqdecision_list = (from c in dc.MET_RequestDecisionViews
                                                               where c.Active == true && c.RequestID == meeting_requsetID
                                                               orderby c.Seq
                                                               select c).ToList();
            string return_str = new JavaScriptSerializer().Serialize(reqdecision_list);

            return(return_str);
        }
Beispiel #7
0
        public static string DeleteAgenda(string agendaID, string user_id, string RequestID)
        {
            //Security Check
            if (!Controller_User_Access.CheckProgramAccess(AccessProgramCode, RequestID, "delete"))
            {
                throw new Exception("No Access.");
            }

            LINQ_MeetingDataContext dc = new LINQ_MeetingDataContext();

            try
            {
                MET_Agenda agenda_record = new MET_Agenda();
                agenda_record = (from c in dc.MET_Agendas where c.AgendaID == agendaID && c.Active == true select c).FirstOrDefault();
                if (agenda_record == null)
                {
                    return("Error~We can't find");
                }
                agenda_record.Active     = false;
                agenda_record.ModifiedOn = DateTime.Now;
                agenda_record.ModifiedBy = user_id;
                agenda_record.LastAction = Guid.NewGuid().ToString();

                #region Request in agenda
                List <MET_Request> req_list = new List <MET_Request>();
                req_list = (from c in dc.MET_Requests where c.AgendaID == agendaID && c.Active == true select c).ToList();
                foreach (MET_Request i in req_list)
                {
                    i.AgendaID      = "";
                    i.RequestStatus = "Complete";
                    i.ModifiedBy    = RequestID;
                    i.ModifiedOn    = DateTime.Now;
                }
                #endregion

                dc.SubmitChanges(ConflictMode.ContinueOnConflict);
                return("Success~");
            }
            catch (ChangeConflictException ex)
            {
                return("Success~");
            }
        }
Beispiel #8
0
        public static string RequestApprove(string meetingreq_id, string status, string remark, string user_id)
        {
            //Security Check
            if (!Controller_User_Access.CheckProgramAccess(AccessProgramCode, user_id, "decision"))
            {
                throw new Exception("No Access.");
            }
            if (!Controller_User_Access.CheckProgramAccess(AccessProgramCode, user_id, "update"))
            {
                throw new Exception("No Access.");
            }

            LINQ_MeetingDataContext dc = new LINQ_MeetingDataContext();

            try
            {
                MET_Request request_record = new MET_Request();
                request_record = (from c in dc.MET_Requests where c.RequestID == meetingreq_id && c.Active == true select c).FirstOrDefault();
                if (request_record == null)
                {
                    return("Error~We can't find");
                }

                request_record.ApprovalStatus = status;
                request_record.ApprovedBy     = user_id;
                request_record.ApprovedOn     = DateTime.Now;
                request_record.ApprovedRemark = remark;
                request_record.ModifiedOn     = DateTime.Now;
                request_record.ModifiedBy     = user_id;
                request_record.LastAction     = Guid.NewGuid().ToString();


                dc.SubmitChanges(ConflictMode.ContinueOnConflict);
                return("Success~" + request_record.ApprovalStatus + "~" + request_record.ApprovedRemark);
            }
            catch (ChangeConflictException ex)
            {
                return("Success~" + status + "~" + remark);
            }
        }
Beispiel #9
0
        public static string LoadRequestByAgendaID(string agendaID, string user_id)
        {
            //Security Check
            if (!Controller_User_Access.CheckProgramAccess(AccessProgramCode, user_id, "read"))
            {
                throw new Exception("No Access.");
            }

            LINQ_MeetingDataContext dc = new LINQ_MeetingDataContext();

            try
            {
                #region get all request
                //Security Check For AllDepartment
                SYS_UserView current_user = Controller_User.GetUser(user_id, user_id);
                string       departmentID = "";
                if (!Controller_User_Access.CheckProgramAccess(AccessProgramCode, user_id, "allDepartment"))
                {
                    departmentID = current_user.DepartmentID;
                }


                List <MET_RequestView> reqs_list = (from c in dc.MET_RequestViews
                                                    where c.Active == true && c.AgendaID == agendaID && (departmentID == "" || (departmentID != "" && c.DepartmentID == departmentID))
                                                    orderby c.Protocol ascending
                                                    select c).ToList();

                string return_str = new JavaScriptSerializer().Serialize(reqs_list);
                #endregion


                return("Success~" + return_str);
            }
            catch (Exception ex)
            {
                return("Success~");
            }
        }
Beispiel #10
0
        public static string SaveRequest(
            string RequestID,
            string DepartmentID,
            string RequestType,
            string RequestNo,
            string RequestBy,
            string RequestTitle,
            string RequestStatus,
            string RequestOn,
            string MeetingID,
            string Remark,
            string ApprovedBy,
            string ApprovedOn,
            string ApprovedRemark,
            string Description,
            string UserID,
            string Requestitems,
            string RequestDecisions)
        {
            try
            {
                //Security Check
                if (!Controller_User_Access.CheckProgramAccess(AccessProgramCode, UserID, "read"))
                {
                    throw new Exception("No Access.");
                }

                LINQ_MeetingDataContext dc          = new LINQ_MeetingDataContext();
                MET_Request             the_request = new MET_Request();

                if (RequestID == "")
                {
                    the_request = new MET_Request()
                    {
                        Active    = true,
                        CreatedBy = UserID,
                        CreatedOn = DateTime.Now,
                        RequestID = Guid.NewGuid().ToString(),
                        RequestNo = Controller_RunningNo.GetNewRunningCode("Request", UserID),


                        ApprovedBy     = "",
                        ApprovedOn     = DateTime.Now,
                        ApprovedRemark = "",
                        ApprovalStatus = ""
                    };
                    RequestID = the_request.RequestID;
                    dc.MET_Requests.InsertOnSubmit(the_request);
                }
                else
                {
                    the_request = (from c in dc.MET_Requests where c.RequestID == RequestID select c).FirstOrDefault();
                    if (the_request == null)
                    {
                        throw new Exception("System cannot find the record.");
                    }
                }

                DateTime request_on = DateTime.Today;
                DateTime.TryParseExact(RequestOn, "yyyy/M/d", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out request_on);
                the_request.RequestType  = RequestType;
                the_request.RequestBy    = RequestBy;
                the_request.RequestTitle = RequestTitle;
                the_request.DepartmentID = DepartmentID;

                the_request.RequestStatus = RequestStatus;
                the_request.RequestOn     = request_on;
                the_request.AgendaID      = MeetingID;
                the_request.Remark        = Remark.Replace("%27", "");
                the_request.Description   = Description.Replace("%27", "");

                the_request.ModifiedBy = UserID;
                the_request.ModifiedOn = DateTime.Now;
                the_request.LastAction = Guid.NewGuid().ToString();


                #region Clear previous items
                List <MET_RequestItem> req_old_items = (from c in dc.MET_RequestItems
                                                        where c.RequestID == the_request.RequestID &&
                                                        c.Active == true
                                                        select c).ToList();
                if (req_old_items != null)
                {
                    dc.MET_RequestItems.DeleteAllOnSubmit(req_old_items);
                }
                #endregion


                #region Request Items

                if (Requestitems != "")
                {
                    List <MET_RequestItem> request_items = new List <MET_RequestItem>();
                    List <string>          items         = Requestitems.Split('~').ToList();
                    foreach (string item in items)
                    {
                        if (item != "")
                        {
                            List <string> itemInfo = item.Split('^').ToList();

                            request_items.Add(new MET_RequestItem()
                            {
                                CreatedBy     = UserID,
                                CreatedOn     = DateTime.Now,
                                ModifiedBy    = UserID,
                                ModifiedOn    = DateTime.Now,
                                Active        = true,
                                LastAction    = Guid.NewGuid().ToString(),
                                RequestID     = the_request.RequestID,
                                RequestItemID = itemInfo[0],
                                RequestItem   = itemInfo[1],
                                Seq           = convertToDecimal(itemInfo[2]),
                            });
                        }
                    }
                    dc.MET_RequestItems.InsertAllOnSubmit(request_items);
                }

                #endregion

                #region Request Decision

                #region Clear previous items
                List <MET_RequestDecision> req_old_decisions = (from c in dc.MET_RequestDecisions
                                                                where c.RequestID == the_request.RequestID &&
                                                                c.Active == true
                                                                select c).ToList();
                if (req_old_decisions != null)
                {
                    dc.MET_RequestDecisions.DeleteAllOnSubmit(req_old_decisions);
                }
                #endregion
                if (RequestDecisions != "")
                {
                    List <MET_RequestDecision> request_decisions = new List <MET_RequestDecision>();
                    List <string> decisions         = RequestDecisions.Split('~').ToList();
                    string[]      combine_decisions = new string[decisions.Count];
                    int           count             = 0;
                    foreach (string decision in decisions)
                    {
                        if (decision != "")
                        {
                            List <string> decisionInfo = decision.Split('^').ToList();

                            request_decisions.Add(new MET_RequestDecision()
                            {
                                CreatedBy         = UserID,
                                CreatedOn         = DateTime.Now,
                                ModifiedBy        = UserID,
                                ModifiedOn        = DateTime.Now,
                                Active            = true,
                                LastAction        = Guid.NewGuid().ToString(),
                                RequestID         = the_request.RequestID,
                                RequestDecisionID = decisionInfo[0],
                                Description       = decisionInfo[1],
                                Seq = convertToDecimal(decisionInfo[2]),
                            });
                            combine_decisions[count] = decisionInfo[1];
                            count++;
                        }
                    }

                    dc.MET_RequestDecisions.InsertAllOnSubmit(request_decisions);
                    the_request.CombineDecision = string.Join(",", combine_decisions);
                }

                #endregion

                #region update the log for POS_SellVouncher

                MET_Request log_obj = dc.GetChangeSet().Updates.OfType <MET_Request>().FirstOrDefault();
                if (log_obj != null)
                {
                    if (Controller_SystemLog.WirteUpdateLog(dc.MET_Requests.GetModifiedMembers(log_obj).ToList(), RequestID, UserID) == false)
                    {
                        //Error fail to log.
                    }
                }
                #endregion
                dc.SubmitChanges();

                do_populate_print_description(the_request.RequestID);

                //#region Conbine Decisions
                //the_request.CombineDecision = dc.MET_CombineDecisionsOfRequest(the_request.RequestID).ToString();
                //#endregion
                //dc.SubmitChanges();

                return("Success~" + the_request.RequestID + "~" + the_request.RequestNo);
            }
            catch (Exception ex)
            {
                return("Error~" + ex.Message);
            }
        }
Beispiel #11
0
        public static void do_populate_print_description(string RequestID)
        {
            //Security Check
            //if (!Controller_User_Access.CheckProgramAccess(AccessProgramCode, RequestID, "read")) throw new Exception("No Access.");

            LINQ_MeetingDataContext dc          = new LINQ_MeetingDataContext();
            MET_Request             the_request = (from c in dc.MET_Requests where c.RequestID == RequestID && c.Active == true select c).FirstOrDefault();

            if (the_request == null)
            {
                throw new Exception("No recrod found");
            }
            string css_code = "<style>.tab0  { position:absolute;left:25px;}" +
                              ".myfont{ font-family: 'Pyidaungsu';}" +
                              "</style>";

            string PrintDescription = "အကြောင်းအရာ။  <b>" + the_request.RequestTitle + "</b><br/><br/>";


            List <MET_RequestItem> the_items = (from c in dc.MET_RequestItems where c.RequestID == RequestID && c.Active == true orderby c.Seq select c).ToList();

            int display_seq = 1;

            foreach (MET_RequestItem item in the_items)
            {
                PrintDescription = PrintDescription +
                                   Controllers.Controller_MyanmarNumbering.GetMM_Number(display_seq) + "။  " + item.RequestItem + "။<br/><br/>";

                display_seq = display_seq + 1;
            }

            the_request.PrintDescription = css_code + "<div class='myfont'>" + PrintDescription + "</div>";

            List <MET_RequestDecision> the_decisions = (from c in dc.MET_RequestDecisions where c.RequestID == RequestID && c.Active == true orderby c.Seq select c).ToList();

            if (the_decisions == null)
            {
                return;
            }
            string decision_seq  = Controllers.Controller_MyanmarNumbering.GetMM_Number(display_seq);
            string PrintDecision = "";

            if (the_decisions.Count == 1)
            {
                foreach (MET_RequestDecision decision in the_decisions)
                {
                    PrintDecision = decision_seq + "။  " + "ဆုံးဖြတ်ရန် အချက်။ " + decision.Description + "။<br/><br/>";
                }
            }
            else
            {
                PrintDecision = decision_seq + "။  " + "ဆုံးဖြတ်ရန် အချက်။  " + "<br/><br/>";
                int dec_seq = 1;

                foreach (MET_RequestDecision decision in the_decisions)
                {
                    PrintDecision = PrintDecision
                                    + "&nbsp;" + "(" + Controllers.Controller_MyanmarNumbering.GetMM_Word(dec_seq) + ")" + "<span class='tab0'>     </span>" + decision.Description + "။<br/><br/>";
                    dec_seq = dec_seq + 1;
                }
            };

            the_request.PrintDecision = css_code + "<div class='myfont'>" + PrintDecision + "</div>";
            dc.SubmitChanges();
        }
Beispiel #12
0
        public static string SaveAgenda(
            string AgendaID,
            string AgendaDate,
            string AgendaNo,
            string AgendaNoLabel,
            string AgendaStatus,
            string AgendaHistory,
            string AgendaRemark,
            string UserID)
        {
            try
            {
                //Security Check
                if (!Controller_User_Access.CheckProgramAccess(AccessProgramCode, UserID, "read"))
                {
                    throw new Exception("No Access.");
                }

                LINQ_MeetingDataContext dc = new LINQ_MeetingDataContext();
                MET_Agenda the_agenda      = new MET_Agenda();

                if (AgendaID == "")
                {
                    the_agenda = new MET_Agenda()
                    {
                        Active    = true,
                        CreatedBy = UserID,
                        CreatedOn = DateTime.Now,
                        AgendaID  = Guid.NewGuid().ToString(),
                        AgendaNo  = Controller_RunningNo.GetNewRunningCode("Agenda", UserID),
                    };
                    AgendaID = the_agenda.AgendaID;
                    dc.MET_Agendas.InsertOnSubmit(the_agenda);
                }
                else
                {
                    the_agenda = (from c in dc.MET_Agendas where c.AgendaID == AgendaID select c).FirstOrDefault();
                    if (the_agenda == null)
                    {
                        throw new Exception("System cannot find the record.");
                    }
                }

                DateTime agenda_date = DateTime.Today;
                DateTime.TryParseExact(AgendaDate, "yyyy/M/d", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out agenda_date);
                the_agenda.AgendaStatus  = AgendaStatus;
                the_agenda.AgendaHistory = AgendaHistory;
                the_agenda.AgendaRemark  = AgendaRemark;
                the_agenda.AgendaDate    = agenda_date;
                the_agenda.AgendaNoLable = AgendaNoLabel;

                the_agenda.ModifiedBy = UserID;
                the_agenda.ModifiedOn = DateTime.Now;
                the_agenda.LastAction = Guid.NewGuid().ToString();


                #region update the log for Met_Agenda


                MET_Agenda log_obj = dc.GetChangeSet().Updates.OfType <MET_Agenda>().FirstOrDefault();
                if (log_obj != null)
                {
                    if (Controller_SystemLog.WirteUpdateLog(dc.MET_Agendas.GetModifiedMembers(log_obj).ToList(), AgendaID, UserID) == false)
                    {
                        //Error fail to log.
                    }
                }
                #endregion

                dc.SubmitChanges();


                return("Success~" + the_agenda.AgendaID + "~" + the_agenda.AgendaNo);
            }
            catch (Exception ex)
            {
                return("Error~" + ex.Message);
            }
        }
Beispiel #13
0
        public static string AddRequestToAgenda(string agendaID, string user_id)
        {
            //Security Check
            if (!Controller_User_Access.CheckProgramAccess("MeetingRequest", user_id, "update"))
            {
                throw new Exception("No Access.");
            }
            SYS_UserView            current_user = Controller_User.GetUser(user_id, user_id);
            LINQ_MeetingDataContext dc           = new LINQ_MeetingDataContext();

            try
            {
                MET_Agenda agenda_record = new MET_Agenda();
                string     return_str    = "";
                agenda_record = (from c in dc.MET_Agendas where c.AgendaID == agendaID && c.Active == true select c).FirstOrDefault();
                if (agenda_record == null)
                {
                    return("Error~We can't find");
                }


                #region Request in agenda
                //Security Check For AllDepartment
                string departmentID = "";
                if (!Controller_User_Access.CheckProgramAccess("MeetingRequest", user_id, "allDepartment"))
                {
                    departmentID = current_user.DepartmentID;
                }

                List <MET_Request> req_list = new List <MET_Request>();
                req_list = (from c in dc.MET_Requests where c.ApprovalStatus == "Approved" &&
                            (departmentID == "" || (departmentID != "" && c.DepartmentID == departmentID)) &&
                            c.Active == true select c).ToList();

                if (req_list.Count > 0)
                {
                    foreach (MET_Request i in req_list)
                    {
                        i.AgendaID      = agenda_record.AgendaID;
                        i.RequestStatus = "Agenda";
                        i.ModifiedBy    = user_id;
                        i.ModifiedOn    = DateTime.Now;
                    }

                    dc.SubmitChanges(ConflictMode.ContinueOnConflict);
                    #region get all request
                    List <MET_RequestView> reqs_list = (from c in dc.MET_RequestViews
                                                        where c.Active == true && c.AgendaID == agendaID &&
                                                        (departmentID == "" || (departmentID != "" && c.DepartmentID == departmentID))
                                                        orderby c.Protocol ascending
                                                        select c).ToList();

                    return_str = new JavaScriptSerializer().Serialize(reqs_list);
                    #endregion
                    return("Success~" + return_str);
                }
                else
                {
                    return("Error~" + "There is no approved requests!");
                }
                #endregion
            }
            catch (ChangeConflictException ex)
            {
                return("Success~");
            }
        }