protected void btnSave_Click(object sender, EventArgs e) { if (Request.QueryString["status"] == "update" || Request.QueryString["status"] == "selected") { int committeeId = Convert.ToInt32(Request.QueryString["cId"]); List <UserGrid> data = WebApiConsume.ShowCommitteeMembers(committeeId); gvMembersOfCommittee.DataSource = data.Where(x => x != null).ToList(); gvMembersOfCommittee.DataBind(); ViewState["CommitteeId"] = committeeId; List <User> Members = WebApiConsume.GetUsers(Utilities.BASE_URL + "/api/Users/GetUsers"); ddlMemberChange.DataSource = Members; ddlMemberChange.DataTextField = "Name"; ddlMemberChange.DataValueField = "ID"; ddlMemberChange.DataBind(); divAddMember.Visible = true; List <UserGrid> data2 = WebApiConsume.ShowCommitteeMembers(committeeId); gvMembersOfCommittee.DataSource = data2.Where(x => x != null).ToList(); gvMembersOfCommittee.DataBind(); if (Session["SystemRole"].ToString() == "2") { divAddMember.Visible = true; } Committee.Models.Committee committeeUpdate = new Models.Committee() { CommitteeName = txtCommitteeName.Text, CommitteeDate = txtCommitteeDateHidden.Value, TypeId = Convert.ToInt32(ddlCommitteeClassification.SelectedItem.Value), ActivityId = Convert.ToInt32(ddlcommitteeStatus.SelectedItem.Value), ImportanceId = Convert.ToInt32(ddlCommitteeImportancy.SelectedItem.Value), CommitteeTopic = txtCommitteeTopic.Text, CommitteeBasedOn = txtCommitteeBasedON.Text, CommitteeEnrollmentNumber = txtEnrollmentNumber.Text, CommitteeEnrollmentDate = txtEnrollmentDate.Text, CommitteeManager = ddlCommitteepresident.SelectedItem.Value == "NULL" ? null : ddlCommitteepresident.SelectedItem.Value, CommitteeSecretary = ddlCommitteeSecrtary.SelectedItem.Value == "NULL" ? null : ddlCommitteeSecrtary.SelectedItem.Value, CommitteeInbox1 = txtInboxSide.Text, DeptId = ddlCommitteeDept.SelectedItem.Value == "NULL" ? null : ddlCommitteeDept.SelectedItem.Value, CommitteeId = Convert.ToInt32(ViewState["CommitteeId"]), UpdatedAt = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), CreatedAt = ViewState["CreatedAt"].ToString() }; string inputJson = (new JavaScriptSerializer()).Serialize(committeeUpdate); WebApiConsume.UpdateCommittee(Utilities.BASE_URL + "/api/Committees", Convert.ToInt32(ViewState["CommitteeId"]), inputJson); btnSave.Text = "حفظ"; Response.Redirect("CommitteeMangement.aspx?id=redirectUpdate"); //gvCommittee.EditIndex = -1; } else if (Request.QueryString["status"] == "new") { string isCommitteeExist = ""; bool CommitteeExist = WebApiConsume.IsCommitteeExist(Utilities.BASE_URL + "/api/Committees", txtCommitteeName.Text.Trim().ToLower()); if (CommitteeExist) { ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "تم", "alert('هذا الاسم موجود بالفعل من فضلك قم بادخال اسم اخر لللجنه');", true); } else { if (ddlCommitteepresident.SelectedItem.Value != "NULL" || ddlCommitteeSecrtary.SelectedItem.Value != "NULL") { if (selectedUsers.Count == 0 && ddlCommitteeSecrtary.Visible == true && ddlCommitteepresident.Visible == true) { selectedUsers.Add(Convert.ToInt32(ddlCommitteeSecrtary.SelectedItem.Value)); selectedUsers.Add(Convert.ToInt32(ddlCommitteepresident.SelectedItem.Value)); } } Committee.Models.Committee committee = new Models.Committee() { CommitteeName = txtCommitteeName.Text, CommitteeDate = txtCommitteeDateHidden.Value, TypeId = Convert.ToInt32(ddlCommitteeClassification.SelectedItem.Value), ActivityId = Convert.ToInt32(ddlcommitteeStatus.SelectedItem.Value), ImportanceId = Convert.ToInt32(ddlCommitteeImportancy.SelectedItem.Value), CommitteeTopic = txtCommitteeTopic.Text, CommitteeBasedOn = txtCommitteeBasedON.Text, CommitteeEnrollmentNumber = txtEnrollmentNumber.Text, CommitteeEnrollmentDate = txtEnrollmentDate.Text, CommitteeManager = ddlCommitteepresident.SelectedItem.Value == "NULL" ? null : ddlCommitteepresident.SelectedItem.Value, CommitteeSecretary = ddlCommitteeSecrtary.SelectedItem.Value == "NULL" ? null : ddlCommitteeSecrtary.SelectedItem.Value, CommitteeInbox1 = txtInboxSide.Text, DeptId = ddlCommitteeDept.SelectedItem.Value == "NULL" ? null : ddlCommitteeDept.SelectedItem.Value, CreatedAt = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), UpdatedAt = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") }; string inputJson = (new JavaScriptSerializer()).Serialize(committee); WebApiConsume.PostCommittee(Utilities.BASE_URL + "/api/Committees", inputJson); List <CommitteesMember> committeesMembers = new List <CommitteesMember>(); int Committee = WebApiConsume.GetCommitteeId(Utilities.BASE_URL + "/api/Committees", txtCommitteeName.Text.Trim().ToLower()); int committeeRole = 0; for (int i = 0; i < selectedUsers.Count; i++) { // client.DownloadString(apiUrl3 + "/GetCommitteeId?committeeName=" + txtCommitteeName.Text); if (i == 0) { committeeRole = 4; } if (i == 1) { committeeRole = 5; } if (i > 1) { committeeRole = 6; } committeesMembers.Add(new CommitteesMember() { MemberId = selectedUsers[i], CommitteeId = Committee, CommitteeRole = committeeRole, CreatedAt = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), UpdatedAt = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") }); } string inputJson2 = (new JavaScriptSerializer()).Serialize(committeesMembers); //WebClient client = new WebClient(); WebApiConsume.PostCommitteeMembers(Utilities.BASE_URL + "/api/CommitteesMembers", inputJson2); foreach (var member in committeesMembers) { object memb = new { id = member.MemberId, }; try { User userFcm = WebApiConsume.GetUserById(Utilities.BASE_URL + "/api/Users", member.MemberId); WebApiConsume.SendUserNotification(Utilities.BASE_URL + "/api/Fcm", member.CommitteeId, txtCommitteeName.Text, userFcm.FCMToken); // SMS.SendSms("تم إنشاء لجنة جديده : " + "\n" + txtCommitteeName.Text, userFcm.Phone); if (userFcm.Phone != "" || userFcm.Phone != null) { SMS.SendSms("تم إنشاء لجنه " + "\n" + txtCommitteeName.Text + " المشكلة بتاريخ " + "\n" + txtCommitteeDate.Text, userFcm.Phone); // Utilities.SendMailToOnePerson(userFcm.UserEmailId, "انضمام للجنة", "تم اضافتك للجنة بنجاح"); } } catch (Exception ex) { string filePath = @Utilities.LogError_Path + "Error.txt"; using (StreamWriter writer = new StreamWriter(filePath, true)) { writer.WriteLine("-----------------------------------------------------------------------------"); writer.WriteLine("Date : " + DateTime.Now.ToString()); writer.WriteLine(); while (ex != null) { writer.WriteLine(ex.GetType().FullName); writer.WriteLine("Message : " + ex.Message); writer.WriteLine("StackTrace : " + ex.StackTrace); ex = ex.InnerException; } } } string apiUrlAlert = ""; WebApiConsume.PostAlert(Utilities.BASE_URL + "/api/Committees", member.CommitteeId, member.MemberId); } ViewState["update"] = 0; selectedUsers = new List <int>(); userGrids = new List <UserGrid>(); Response.Redirect("CommitteeMangement.aspx?id=redirectSave"); } } }
protected void Page_Load(object sender, EventArgs e) { if (Session["UserName"] == null || Session["SystemRole"] == null) { Response.Redirect("login.aspx"); } txtCommitteeDate.Text = txtCommitteeDateHidden.Value; if (!IsPostBack) { txtCommitteeDate.Text = ""; divAddMember.Visible = false; selectedUsers = new List <int>(); userGrids = new List <UserGrid>(); List <User> Members = WebApiConsume.GetUsers(Utilities.BASE_URL + "/api/Users/GetUsers"); ddlMemberSelect.DataSource = Members; ddlMemberSelect.DataTextField = "Name"; ddlMemberSelect.DataValueField = "ID"; ddlMemberSelect.DataBind(); ddlMemberSelect.Items.Insert(0, new ListItem("أختر من القائمه", "NULL")); ddlCommitteeSecrtary.DataSource = Members; ddlCommitteeSecrtary.DataTextField = "Name"; ddlCommitteeSecrtary.DataValueField = "ID"; ddlCommitteeSecrtary.DataBind(); ddlCommitteeSecrtary.Items.Insert(0, new ListItem("أختر من القائمه", "NULL")); ddlCommitteepresident.DataSource = Members; ddlCommitteepresident.DataTextField = "Name"; ddlCommitteepresident.DataValueField = "ID"; ddlCommitteepresident.DataBind(); ddlCommitteepresident.Items.Insert(0, new ListItem("أختر من القائمه", "NULL")); List <Committee.Models.Department> departments = WebApiConsume.GetDepartments(Utilities.BASE_URL + "/api/Deapartments/GetDepartments"); ddlCommitteeDept.DataSource = departments; ddlCommitteeDept.DataTextField = "DeptName"; ddlCommitteeDept.DataValueField = "DeptId"; ddlCommitteeDept.DataBind(); ddlCommitteeDept.SelectedValue = Session["DeptId"].ToString(); ddlCommitteeDept.Enabled = false; ddlCommitteeDept.Items.Insert(0, new ListItem("أختر من القائمه", "NULL")); int committeeId = Convert.ToInt32(Request.QueryString["cId"]); List <UserGrid> data = WebApiConsume.ShowCommitteeMembers(committeeId); if (Request.QueryString["status"] == "selected") { gvMeeting.DataSource = ShowMeetings(Convert.ToInt32(Request.QueryString["cId"])); gvMeeting.DataBind(); if (data.Count != 0) { lblmembersOfCommittee.Visible = true; lblmembersOfCommittee.Text = "الاعضاء المشتركون فى اللجنة"; } else { lblmembersOfCommittee.Visible = true; lblmembersOfCommittee.Text = "لا يوجد اعضاء مشتركون فى هذه اللجنة"; } gvMembersOfCommittee.DataSource = data.Where(x => x != null).ToList(); gvMembersOfCommittee.DataBind(); ddlMemberChange.Visible = true; ddlMemberChange.DataSource = Members; ddlMemberChange.DataTextField = "Name"; ddlMemberChange.DataValueField = "ID"; ddlMemberChange.DataBind(); ddlMemberChange.Items.Insert(0, new ListItem("أختر من القائمه", "NULL")); gvMembersOfCommittee.Visible = true; divAddMember.Visible = true; } gvMembersOfCommittee.DataSource = data.Where(x => x != null).ToList(); gvMembersOfCommittee.DataBind(); LabelddlCommitteepresident.Visible = true; LabeddlCommitteeSecrtary.Visible = true; ddlCommitteeSecrtary.Visible = true; ddlCommitteepresident.Visible = true; divAddMembers.Visible = true; ddlMemberSelect.Visible = true; ddlMemberSelect.DataSource = Members; ddlMemberSelect.DataTextField = "Name"; ddlMemberSelect.DataValueField = "ID"; ddlMemberSelect.DataBind(); ddlMemberSelect.Items.Insert(0, new ListItem("أختر من القائمه", "NULL")); if (Request.QueryString["status"] == "selected") { gvMeeting.DataSource = ShowMeetings(Convert.ToInt32(Request.QueryString["cId"])); gvMeeting.DataBind(); committeeId = Convert.ToInt32(Request.QueryString["cId"]); data = WebApiConsume.ShowCommitteeMembers(committeeId); if (data.Count != 0) { lblmembersOfCommittee.Visible = true; lblmembersOfCommittee.Text = "الاعضاء المشتركون فى اللجنة"; gvMembersOfCommittee.DataSource = data.Where(x => x != null).ToList(); gvMembersOfCommittee.DataBind(); } else { lblmembersOfCommittee.Visible = true; lblmembersOfCommittee.Text = "لا يوجد اعضاء مشتركون فى هذه اللجنة"; } } if (Request.QueryString["status"] == "update" || Request.QueryString["status"] == "selected") { gvMeeting.Visible = true; List <MeetingSearch> ms = ShowMeetings(Convert.ToInt32(Request.QueryString["cId"])); if (ms.Count != 0) { lblgvMeeting.Visible = true; lblgvMeeting.Text = "اجتماعات اللجنة"; gvMeeting.DataSource = ms; gvMeeting.DataBind(); } else { lblgvMeeting.Visible = true; lblgvMeeting.Text = " لا يوجد اجتماعات لهذه اللجنة"; } data = WebApiConsume.ShowCommitteeMembers(Convert.ToInt32(Request.QueryString["cId"])); if (data.Count != 0) { lblmembersOfCommittee.Visible = true; lblmembersOfCommittee.Text = "الاعضاء المشتركون فى اللجنة"; gvMembersOfCommittee.DataSource = data.Where(x => x != null).ToList(); gvMembersOfCommittee.DataBind(); lblmembersOfCommittee.Visible = true; } else { lblmembersOfCommittee.Visible = true; lblmembersOfCommittee.Text = "لا يوجد اعضاء مشتركون فى هذه اللجنة"; } lblAddCommitteetitle.Text = "تعديل اللجنة"; lblAddCommitteeh2.Text = "تعديل اللجنة"; List <CommitteeSearchUpdate> committeesUpdate = new List <CommitteeSearchUpdate>(); string apiUrl3 = Utilities.BASE_URL + "/api/Committees"; WebClient client = new WebClient(); client.Headers["Content-type"] = "application/json"; client.Encoding = Encoding.UTF8; int cId = Convert.ToInt32(Request.QueryString["cId"]); ViewState["CommitteeId"] = cId; Committee.Models.CommitteeRetrieveUpdate Committee = (new JavaScriptSerializer()).Deserialize <Committee.Models.CommitteeRetrieveUpdate>(client.DownloadString(apiUrl3 + "/GetCommitteeByIdForWeb?committeeId=" + cId.ToString())); txtCommitteeDate.Text = Committee.CommitteeDate; ddlCommitteeClassification.SelectedValue = Committee.Type.Id.ToString(); ddlCommitteeImportancy.SelectedValue = Committee.Importance.Id.ToString(); ddlcommitteeStatus.SelectedValue = Committee.Activity.Id.ToString(); txtCommitteeTopic.Text = Committee.CommitteeTopic; txtCommitteeBasedON.Text = Committee.CommitteeBasedOn; txtEnrollmentNumber.Text = Committee.CommitteeEnrollmentNumber; txtEnrollmentDate.Text = Committee.CommitteeEnrollmentDate; txtInboxSide.Text = Committee.CommitteeInbox1; ddlCommitteeDept.SelectedValue = Committee?.Department?.DeptId.ToString(); txtCommitteeName.Text = Committee.CommitteeName; ddlCommitteepresident.SelectedValue = Committee.CommitteeManager; ddlCommitteeSecrtary.SelectedValue = Committee.CommitteeSecretary; ViewState["CreatedAt"] = Committee.CreatedAt; //gvCommittee.DataSource = ShowCommittees(); //gvCommittee.DataBind(); } else { lblAddCommitteetitle.Text = "اضافة لجنة جديدة"; lblAddCommitteeh2.Text = "اضافة لجنة جديدة"; } if (Request.QueryString["status"] == "selected") { lblAddCommitteetitle.Text = "عرض اللجنة"; lblAddCommitteeh2.Text = "عرض اللجنة"; List <CommitteeSearchUpdate> committeesUpdate = new List <CommitteeSearchUpdate>(); string apiUrl3 = Utilities.BASE_URL + "/api/Committees"; WebClient client = new WebClient(); client.Headers["Content-type"] = "application/json"; client.Encoding = Encoding.UTF8; int cId = Convert.ToInt32(Request.QueryString["cId"]); ViewState["CommitteeId"] = cId; Committee.Models.CommitteeRetrieveUpdate Committee = (new JavaScriptSerializer()).Deserialize <Committee.Models.CommitteeRetrieveUpdate>(client.DownloadString(apiUrl3 + "/GetCommitteeByIdForWeb?committeeId=" + cId.ToString())); txtCommitteeDate.Text = Committee.CommitteeDate; txtCommitteeDate.Enabled = false; ddlCommitteeClassification.SelectedValue = Committee.Type.Id.ToString(); ddlCommitteeClassification.Enabled = false; ddlCommitteeImportancy.SelectedValue = Committee.Importance.Id.ToString(); ddlCommitteeImportancy.Enabled = false; ddlcommitteeStatus.SelectedValue = Committee.Activity.Id.ToString(); ddlcommitteeStatus.Enabled = false; txtCommitteeTopic.Text = Committee.CommitteeTopic; txtCommitteeTopic.Enabled = false; txtCommitteeBasedON.Text = Committee.CommitteeBasedOn; txtCommitteeBasedON.Enabled = false; txtEnrollmentNumber.Text = Committee.CommitteeEnrollmentNumber; txtEnrollmentNumber.Enabled = false; txtEnrollmentDate.Text = Committee.CommitteeEnrollmentDate; txtEnrollmentDate.Enabled = false; txtInboxSide.Text = Committee.CommitteeInbox1; txtInboxSide.Enabled = false; ddlCommitteeDept.SelectedValue = Committee?.Department?.DeptId.ToString(); ddlCommitteeDept.Enabled = false; txtCommitteeName.Text = Committee.CommitteeName; txtCommitteeName.Enabled = false; ddlCommitteepresident.SelectedValue = Committee.CommitteeManager; ddlCommitteepresident.Enabled = false; ddlCommitteeSecrtary.SelectedValue = Committee.CommitteeSecretary; ddlCommitteeSecrtary.Enabled = false; btnSave.Visible = false; divAddMember.Visible = false; } if (Request.QueryString["status"] == "update") { divAddMember.Visible = true; divAddMembers.Visible = false; ddlMemberChange.Visible = true; ddlMemberChange.DataSource = Members; ddlMemberChange.DataTextField = "Name"; ddlMemberChange.DataValueField = "ID"; ddlMemberChange.DataBind(); ddlMemberChange.Items.Insert(0, new ListItem("أختر من القائمه", "NULL")); } if (Session["SystemRole"].ToString() == "1" && Request.QueryString["status"] == "update") { divAddMember.Visible = false; divAddMembers.Visible = false; } } }