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