public DataTable gridKeywords_OnDataBind(string sortField, string searchFiletrs, string toolbarFilters, string userData, int pageNo, int pageSize, ref int resultCount, ref string customData) { if (ActionType == "edit") { DataTable dataTableParserFormulas = Facade.ParserFormula.GetParserFormulas(SmsParserGuid); DataTable dtSmsParserOptions = new DataTable(); Business.ParserFormulaSerialization parserFormulaSerialization = new Business.ParserFormulaSerialization(); DataRow row; dtSmsParserOptions.Columns.Add("Guid", typeof(Guid)); dtSmsParserOptions.Columns.Add("IsCorrect", typeof(bool)); dtSmsParserOptions.Columns.Add("CorrectKey", typeof(bool)); dtSmsParserOptions.Columns.Add("Title", typeof(string)); dtSmsParserOptions.Columns.Add("Key", typeof(string)); dtSmsParserOptions.Columns.Add("ReferenceGuid", typeof(string)); for (int parserFormulaIndex = 0; parserFormulaIndex < dataTableParserFormulas.Rows.Count; parserFormulaIndex++) { row = dtSmsParserOptions.NewRow(); row["Guid"] = Guid.NewGuid(); row["IsCorrect"] = Helper.GetBool(dataTableParserFormulas.Rows[parserFormulaIndex]["IsCorrect"]); row["CorrectKey"] = Helper.GetBool(dataTableParserFormulas.Rows[parserFormulaIndex]["IsCorrect"]); row["Title"] = dataTableParserFormulas.Rows[parserFormulaIndex]["Title"].ToString(); row["Key"] = dataTableParserFormulas.Rows[parserFormulaIndex]["Key"].ToString(); string reactionExtension = dataTableParserFormulas.Rows[parserFormulaIndex]["ReactionExtention"].ToString(); parserFormulaSerialization = (Business.ParserFormulaSerialization)GeneralLibrary.SerializationTools.DeserializeXml(reactionExtension, typeof(Business.ParserFormulaSerialization)); row["ReferenceGuid"] = parserFormulaSerialization.ReferenceGuid.ToString(); dtSmsParserOptions.Rows.Add(row); } return(dtSmsParserOptions); } else { return(new DataTable()); } }
protected void btnSave_Click(object sender, EventArgs e) { try { Common.SmsParser smsParser = new Common.SmsParser(); #region Create Table Of Options string keywords = hdnKeywords.Value; Business.ParserFormulaSerialization parserFormulaSerialization = new Business.ParserFormulaSerialization(); DataTable dtSmsParserOptions = new DataTable(); DataRow row; dtSmsParserOptions.Columns.Add("Guid", typeof(Guid)); dtSmsParserOptions.Columns.Add("IsCorrect", typeof(bool)); dtSmsParserOptions.Columns.Add("Title", typeof(string)); dtSmsParserOptions.Columns.Add("Key", typeof(string)); dtSmsParserOptions.Columns.Add("ReactionExtention", typeof(string)); int countOptions = Helper.GetInt(Helper.ImportData(keywords, "resultCount")); for (int counterOptions = 0; counterOptions < countOptions; counterOptions++) { row = dtSmsParserOptions.NewRow(); row["Guid"] = Guid.NewGuid(); row["IsCorrect"] = Helper.ImportBoolData(keywords, ("CorrectKey" + counterOptions).ToString()); row["Title"] = Helper.ImportData(keywords, ("Title" + counterOptions).ToString()); row["Key"] = Helper.ImportData(keywords, ("Key" + counterOptions).ToString()); parserFormulaSerialization.ReferenceGuid = Helper.GetGuid(Helper.ImportData(keywords, ("ReferenceGuid" + counterOptions).ToString())); row["ReactionExtention"] = SerializationTools.SerializeToXml(parserFormulaSerialization, parserFormulaSerialization.GetType()); dtSmsParserOptions.Rows.Add(row); } if (dtSmsParserOptions.Rows.Count == 0) { throw new Exception(Language.GetString("SelcectCompetitionOptions")); } #endregion smsParser.PrivateNumberGuid = Helper.GetGuid(drpSenderNumber.SelectedValue); smsParser.Title = txtTitle.Text; smsParser.Type = (int)Arad.SMS.Gateway.Business.SmsParserType.Competition; smsParser.CreateDate = DateTime.Now; smsParser.FromDateTime = DateManager.GetChristianDateTimeForDB(dtpStartDate.FullDateTime); smsParser.ToDateTime = DateManager.GetChristianDateTimeForDB(dtpEndDate.FullDateTime); var dateTime = dtpStartDate.FullDateTime; var dateTimeEnd = dtpEndDate.FullDateTime; if (Session["Language"].ToString() == "fa") { smsParser.FromDateTime = DateManager.GetChristianDateTimeForDB(dateTime); smsParser.ToDateTime = DateManager.GetChristianDateTimeForDB(dateTimeEnd); } else { smsParser.FromDateTime = DateTime.Parse(dateTime); smsParser.ToDateTime = DateTime.Parse(dateTimeEnd); } smsParser.Scope = Helper.GetGuid(drpScope.SelectedValue); smsParser.UserGuid = UserGuid; smsParser.ReplyPrivateNumberGuid = Helper.GetGuid(drpReplyPrivateNumber.SelectedValue); smsParser.ReplySmsText = txtReplySmsText.Text; smsParser.DuplicatePrivateNumberGuid = Helper.GetGuid(drpDuplicatePrivateNumber.SelectedValue); smsParser.DuplicateUserSmsText = txtDuplicateUserSmsText.Text; if (smsParser.HasError) { throw new Exception(smsParser.ErrorMessage); } switch (ActionType) { case "insert": if (!Facade.SmsParser.InsertCompetition(smsParser, dtSmsParserOptions)) { throw new Exception(Language.GetString("ErrorRecord")); } break; case "edit": smsParser.SmsParserGuid = SmsParserGuid; if (!Facade.SmsParser.UpdateCompetition(smsParser, dtSmsParserOptions)) { throw new Exception(Language.GetString("ErrorRecord")); } break; } Response.Redirect(string.Format("/PageLoader.aspx?c={0}", Helper.Encrypt((int)Arad.SMS.Gateway.Business.UserControls.UI_SmsParsers_Competitions_Competition, Session))); } catch (Exception ex) { ShowMessageBox(ex.Message, string.Empty, "danger"); } }