Beispiel #1
0
        public Guid InsertCompetition(Common.SmsParser smsParser, DataTable dtSmsParserOptions)
        {
            Guid guid = Guid.NewGuid();

            try
            {
                ExecuteSPCommand("InsertCompetition",
                                 "@Guid", guid,
                                 "@Title", smsParser.Title,
                                 "@Type", smsParser.Type,
                                 "@CreateDate", smsParser.CreateDate,
                                 "@FromDateTime", smsParser.FromDateTime,
                                 "@ToDateTime", smsParser.ToDateTime,
                                 "@Scope", smsParser.Scope,
                                 "@ReplyPrivateNumberGuid", smsParser.ReplyPrivateNumberGuid,
                                 "@ReplySmsText", smsParser.ReplySmsText,
                                 "@DuplicatePrivateNumberGuid", smsParser.DuplicatePrivateNumberGuid,
                                 "@DuplicateUserSmsText", smsParser.DuplicateUserSmsText,
                                 "@UserGuid", smsParser.UserGuid,
                                 "@PrivateNumberGuid", smsParser.PrivateNumberGuid,
                                 "@Options", dtSmsParserOptions);
                return(guid);
            }
            catch
            {
                guid = Guid.Empty;
                return(guid);
            }
        }
Beispiel #2
0
        public static bool UpdateFilter(Common.SmsParser smsParser, Common.ParserFormula parserFormula)
        {
            Business.SmsParser     smsParserController     = new Business.SmsParser();
            Business.ParserFormula parserFormulaController = new Business.ParserFormula();

            smsParserController.BeginTransaction();
            try
            {
                if (!smsParserController.UpdateFilter(smsParser))
                {
                    throw new Exception(Language.GetString("ErrorRecord"));
                }

                parserFormula.SmsParserGuid = smsParser.SmsParserGuid;
                if (!parserFormulaController.InsertFilterOption(parserFormula))
                {
                    throw new Exception(Language.GetString("ErrorRecord"));
                }

                smsParserController.CommitTransaction();
                return(true);
            }
            catch (Exception ex)
            {
                smsParserController.RollbackTransaction();
                throw ex;
            }
        }
Beispiel #3
0
 public static Common.SmsParser LoadSmsParser(Guid guid)
 {
     Business.SmsParser smsParserController = new Business.SmsParser();
     Common.SmsParser   smsParser           = new Common.SmsParser();
     smsParserController.Load(guid, smsParser);
     return(smsParser);
 }
Beispiel #4
0
        public DataTable gridPoll_OnDataBind(string sortField, string searchFiletrs, string toolbarFilters, string userData, int pageNo, int pageSize, ref int resultCount, ref string customData)
        {
            Common.SmsParser smsParser = new Common.SmsParser();
            smsParser.Type     = (int)Arad.SMS.Gateway.Business.SmsParserType.Poll;
            smsParser.UserGuid = UserGuid;

            return(Facade.SmsParser.GetPagedSmsParsers(smsParser, sortField, pageNo, pageSize, ref resultCount));
        }
Beispiel #5
0
 public bool UpdateFilter(Common.SmsParser smsParser)
 {
     return(ExecuteSPCommand("UpdateFilter",
                             "@Guid", smsParser.SmsParserGuid,
                             "@Title", smsParser.Title,
                             "@FromDateTime", smsParser.FromDateTime,
                             "@ToDateTime", smsParser.ToDateTime,
                             "@TypeConditionSender", smsParser.TypeConditionSender,
                             "@ConditionSender", smsParser.ConditionSender,
                             "@Scope", smsParser.Scope,
                             "@PrivateNumberGuid", smsParser.PrivateNumberGuid));
 }
Beispiel #6
0
        public DataTable GetPagedSmsParsers(Common.SmsParser smsParser, string sortField, int pageNo, int pageSize, ref int resultCount)
        {
            DataSet dataSetSmsParser = base.FetchSPDataSet("GetPagedSmsParsers",
                                                           "@UserGuid", smsParser.UserGuid,
                                                           "@Type", smsParser.Type,
                                                           "@PageNo", pageNo,
                                                           "@PageSize", pageSize,
                                                           "@SortField", sortField);

            resultCount = Helper.GetInt(dataSetSmsParser.Tables[0].Rows[0]["RowCount"]);

            return(dataSetSmsParser.Tables[1]);
        }
Beispiel #7
0
 public static bool InsertCompetition(Common.SmsParser smsParser, DataTable dtSmsParserOptions)
 {
     Business.SmsParser smsParserController = new Business.SmsParser();
     try
     {
         dtSmsParserOptions.Columns.Remove("Guid");
         return(smsParserController.InsertCompetition(smsParser, dtSmsParserOptions) != Guid.Empty ? true : false);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Beispiel #8
0
 public static bool UpdateCompetition(Common.SmsParser smsParser, DataTable dtSmsParserOptions)
 {
     Business.SmsParser smsParserController = new Business.SmsParser();
     try
     {
         dtSmsParserOptions.Columns.Remove("Guid");
         return(smsParserController.UpdateCompetition(smsParser, dtSmsParserOptions));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Beispiel #9
0
 public bool UpdateCompetition(Common.SmsParser smsParser, DataTable dtSmsParserOptions)
 {
     return(base.ExecuteSPCommand("UpdateCompetition",
                                  "@Guid", smsParser.SmsParserGuid,
                                  "@Title", smsParser.Title,
                                  "@FromDateTime", smsParser.FromDateTime,
                                  "@ToDateTime", smsParser.ToDateTime,
                                  "@Scope", smsParser.Scope,
                                  "@ReplyPrivateNumberGuid", smsParser.ReplyPrivateNumberGuid,
                                  "@ReplySmsText", smsParser.ReplySmsText,
                                  "@DuplicatePrivateNumberGuid", smsParser.DuplicatePrivateNumberGuid,
                                  "@DuplicateUserSmsText", smsParser.DuplicateUserSmsText,
                                  "@PrivateNumberGuid", smsParser.PrivateNumberGuid,
                                  "@Options", dtSmsParserOptions));
 }
Beispiel #10
0
        //public static DataTable GetSmsParsersOfPrivateNumber(Guid userPrivateNumberGuid)
        //{
        //	Business.SmsParser smsParserController = new Business.SmsParser();
        //	return smsParserController.GetSmsParsersOfPrivateNumber(userPrivateNumberGuid);
        //}

        public static bool ActiveSmsParser(Guid smsParserGuid)
        {
            Business.SmsParser smsParserController = new Business.SmsParser();
            Common.SmsParser   smsParser           = new Common.SmsParser();
            try
            {
                if (!smsParserController.Load(smsParserGuid, smsParser))
                {
                    throw new Exception();
                }

                bool isActive = smsParser.IsActive ? false : true;
                return(smsParserController.ActiveSmsParser(smsParserGuid, isActive));
            }
            catch
            {
                return(false);
            }
        }
Beispiel #11
0
 public static DataTable GetPagedSmsParsers(Common.SmsParser smsParser, string sortField, int pageNo, int pageSize, ref int resultCount)
 {
     Business.SmsParser smsParserController = new Business.SmsParser();
     return(smsParserController.GetPagedSmsParsers(smsParser, sortField, pageNo, pageSize, ref resultCount));
 }
        private void InitializePage()
        {
            btnSave.Text = Language.GetString(btnSave.Text);
            btnSave.Attributes["onclick"] = "return save();";
            btnCancel.Text = Language.GetString(btnCancel.Text);

            drpSenderNumber.DataSource     = Facade.PrivateNumber.GetUserPrivateNumbersForReceive(UserGuid);
            drpSenderNumber.DataTextField  = "Number";
            drpSenderNumber.DataValueField = "Guid";
            drpSenderNumber.DataBind();

            DataTable dtPhoneBook = Facade.PhoneBook.GetPhoneBookOfUser(UserGuid);

            drpPhoneBook.DataSource     = dtPhoneBook;
            drpPhoneBook.DataTextField  = "Name";
            drpPhoneBook.DataValueField = "Guid";
            drpPhoneBook.DataBind();
            drpPhoneBook.Items.Insert(0, new ListItem(string.Empty, Guid.Empty.ToString()));

            drpScope.DataSource     = dtPhoneBook;
            drpScope.DataTextField  = "Name";
            drpScope.DataValueField = "Guid";
            drpScope.DataBind();
            drpScope.Items.Insert(0, new ListItem(string.Empty, Guid.Empty.ToString()));

            dtpStartDate.Date = DateManager.GetSolarDate(DateTime.Now);
            dtpStartDate.Time = DateTime.Now.TimeOfDay.ToString();

            dtpEndDate.Date = DateManager.GetSolarDate(DateTime.Now.AddDays(1));
            dtpEndDate.Time = DateTime.Now.TimeOfDay.ToString();

            DataTable dtSender = Facade.PrivateNumber.GetUserPrivateNumbersForSend(UserGuid);

            drpDuplicatePrivateNumber.DataSource     = dtSender;
            drpDuplicatePrivateNumber.DataTextField  = "Number";
            drpDuplicatePrivateNumber.DataValueField = "Guid";
            drpDuplicatePrivateNumber.DataBind();
            drpDuplicatePrivateNumber.Items.Insert(0, new ListItem(Language.GetString("SenderNumber"), string.Empty));

            drpReplyPrivateNumber.DataSource     = dtSender;
            drpReplyPrivateNumber.DataTextField  = "Number";
            drpReplyPrivateNumber.DataValueField = "Guid";
            drpReplyPrivateNumber.DataBind();
            drpReplyPrivateNumber.Items.Insert(0, new ListItem(Language.GetString("SenderNumber"), string.Empty));

            if (ActionType == "edit")
            {
                Common.SmsParser smsParser = Facade.SmsParser.LoadSmsParser(SmsParserGuid);

                drpSenderNumber.SelectedValue = smsParser.PrivateNumberGuid.ToString();
                txtTitle.Text          = smsParser.Title;
                dtpStartDate.Date      = DateManager.GetSolarDate(smsParser.FromDateTime);
                dtpStartDate.Time      = smsParser.FromDateTime.TimeOfDay.ToString();
                dtpEndDate.Date        = DateManager.GetSolarDate(smsParser.ToDateTime);
                dtpEndDate.Time        = smsParser.ToDateTime.TimeOfDay.ToString();
                drpScope.SelectedValue = smsParser.Scope.ToString();
                drpReplyPrivateNumber.SelectedValue = smsParser.ReplyPrivateNumberGuid.ToString();
                txtReplySmsText.Text = smsParser.ReplySmsText;
                drpDuplicatePrivateNumber.SelectedValue = smsParser.DuplicatePrivateNumberGuid.ToString();
                txtDuplicateUserSmsText.Text            = smsParser.DuplicateUserSmsText;
            }
        }
        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");
            }
        }
Beispiel #14
0
        private void InitializePage()
        {
            btnSave.Attributes["onclick"] = "return submitValidation();";
            btnSave.Text   = Language.GetString(btnSave.Text);
            btnCancel.Text = Language.GetString(btnCancel.Text);

            drpNumber.DataSource     = Facade.PrivateNumber.GetUserPrivateNumbersForReceive(UserGuid);
            drpNumber.DataTextField  = "Number";
            drpNumber.DataValueField = "Guid";
            drpNumber.DataBind();

            foreach (SmsFilterSenderNumber senderNumber in Enum.GetValues(typeof(SmsFilterSenderNumber)))
            {
                drpTypeConditionSender.Items.Add(new ListItem(Language.GetString(senderNumber.ToString()), ((int)senderNumber).ToString()));
            }
            drpTypeConditionSender.Items.Insert(0, new ListItem(string.Empty, string.Empty));

            foreach (SmsFilterConditions condition in Enum.GetValues(typeof(SmsFilterConditions)))
            {
                drpConditions.Items.Add(new ListItem(Language.GetString(condition.ToString()), ((int)condition).ToString()));
            }

            foreach (SmsFilterOperations operation in Enum.GetValues(typeof(SmsFilterOperations)))
            {
                drpOperations.Items.Add(new ListItem(Language.GetString(operation.ToString()), ((int)operation).ToString()));
            }
            drpOperations.Items.Insert(0, new ListItem(string.Empty, string.Empty));

            drpSenderNumber.DataSource     = Facade.PrivateNumber.GetUserPrivateNumbersForSend(UserGuid);
            drpSenderNumber.DataTextField  = "Number";
            drpSenderNumber.DataValueField = "Guid";
            drpSenderNumber.DataBind();
            drpSenderNumber.Items.Insert(0, new ListItem(Language.GetString("SenderNumber"), string.Empty));

            DataTable dtUserFormats = Facade.SmsFormat.GetUserSmsFormats(UserGuid);

            drpAccpetFormat.DataSource     = dtUserFormats;
            drpAccpetFormat.DataTextField  = "FormatName";
            drpAccpetFormat.DataValueField = "FormatGuid";
            drpAccpetFormat.DataBind();
            drpAccpetFormat.Items.Insert(0, new ListItem(Language.GetString("UseFormatIfMatching"), string.Empty));

            drpRejectFormat.DataSource     = dtUserFormats;
            drpRejectFormat.DataTextField  = "FormatName";
            drpRejectFormat.DataValueField = "FormatGuid";
            drpRejectFormat.DataBind();
            drpRejectFormat.Items.Insert(0, new ListItem(Language.GetString("UseFormatIncompatibility"), string.Empty));

            int resultCount = 0;

            drpTrafficRelay.DataSource     = Facade.TrafficRelay.GetPagedTrafficRelays(UserGuid, "CreateDate", 0, 0, ref resultCount);
            drpTrafficRelay.DataTextField  = "Url";
            drpTrafficRelay.DataValueField = "Guid";
            drpTrafficRelay.DataBind();

            dtpStartDate.Date = DateManager.GetSolarDate(DateTime.Now);
            dtpStartDate.Time = DateTime.Now.TimeOfDay.ToString();

            dtpEndDate.Date = DateManager.GetSolarDate(DateTime.Now);
            dtpEndDate.Time = DateTime.Now.TimeOfDay.ToString();

            if (ActionType == "edit")
            {
                Common.SmsParser           smsParser = Facade.SmsParser.LoadSmsParser(SmsParserGuid);
                ParserFormulaSerialization parserFormulaSerialization = new ParserFormulaSerialization();

                drpNumber.SelectedValue = smsParser.PrivateNumberGuid.ToString();
                txtTitle.Text           = smsParser.Title;
                dtpStartDate.Date       = DateManager.GetSolarDate(smsParser.FromDateTime);
                dtpStartDate.Time       = smsParser.FromDateTime.TimeOfDay.ToString();
                dtpEndDate.Date         = DateManager.GetSolarDate(smsParser.ToDateTime);
                dtpEndDate.Time         = smsParser.ToDateTime.TimeOfDay.ToString();
                hdnScopeGuid.Value      = smsParser.Scope.ToString();
                drpTypeConditionSender.SelectedValue = smsParser.TypeConditionSender.ToString();
                txtConditionSender.Text = smsParser.ConditionSender;

                DataTable dataTableParserFormulas = Facade.ParserFormula.GetParserFormulas(SmsParserGuid);
                if (dataTableParserFormulas.Rows.Count > 0)
                {
                    DataRow row = dataTableParserFormulas.Rows[0];
                    drpConditions.SelectedValue = row["Condition"].ToString();
                    txtCondition.Text           = row["Key"].ToString();

                    string reactionExtension = row["ReactionExtention"].ToString();
                    parserFormulaSerialization  = (ParserFormulaSerialization)SerializationTools.DeserializeXml(reactionExtension, typeof(ParserFormulaSerialization));
                    drpOperations.SelectedValue = parserFormulaSerialization.Condition.ToString();
                    switch (parserFormulaSerialization.Condition)
                    {
                    case (int)SmsFilterOperations.AddToGroup:
                    case (int)SmsFilterOperations.RemoveFromGroup:
                        hdnOperationGroupGuid.Value   = parserFormulaSerialization.ReferenceGuid.ToString();
                        drpSenderNumber.SelectedValue = parserFormulaSerialization.Sender.ToString();
                        txtSmsBody.Text = parserFormulaSerialization.Text;
                        txtUrl.Text     = parserFormulaSerialization.VasURL;
                        break;

                    case (int)SmsFilterOperations.SendSmsToGroup:
                        txtSmsBody.Text = parserFormulaSerialization.Text;
                        drpSenderNumber.SelectedValue = parserFormulaSerialization.Sender.ToString();
                        hdnGroupGuid.Value            = parserFormulaSerialization.ReferenceGuid.ToString();
                        break;

                    case (int)SmsFilterOperations.SendSmsToSender:
                        txtSmsBody.Text = parserFormulaSerialization.Text;
                        drpSenderNumber.SelectedValue = parserFormulaSerialization.Sender.ToString();
                        break;

                    case (int)SmsFilterOperations.TransferToUrl:
                        drpTrafficRelay.SelectedValue = parserFormulaSerialization.ReferenceGuid.ToString();
                        break;

                    case (int)SmsFilterOperations.TransferToMobile:
                        txtOpration.Text = parserFormulaSerialization.Text;
                        drpSenderNumber.SelectedValue = parserFormulaSerialization.Sender.ToString();
                        break;

                    case (int)SmsFilterOperations.SendSmsFromFormat:
                        drpRejectFormat.SelectedValue = parserFormulaSerialization.RejectFormatGuid.ToString();
                        drpAccpetFormat.SelectedValue = parserFormulaSerialization.AcceptFormatGuid.ToString();
                        drpSenderNumber.SelectedValue = parserFormulaSerialization.Sender.ToString();
                        break;

                    case (int)SmsFilterOperations.ForwardSmsToGroup:
                        drpSenderNumber.SelectedValue = parserFormulaSerialization.Sender.ToString();
                        hdnOperationGroupGuid.Value   = parserFormulaSerialization.ReferenceGuid.ToString();
                        break;

                    default:
                        txtOpration.Text = parserFormulaSerialization.Text;
                        break;
                    }
                }

                ClientSideScript = "setOption();setCondition('edit');";
            }
        }
Beispiel #15
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                Common.SmsParser           smsParser     = new Common.SmsParser();
                Common.ParserFormula       parserFormula = new Common.ParserFormula();
                ParserFormulaSerialization parserFormulaSerialization = new ParserFormulaSerialization();

                smsParser.SmsParserGuid     = SmsParserGuid;
                smsParser.PrivateNumberGuid = Helper.GetGuid(drpNumber.SelectedValue);
                smsParser.Title             = txtTitle.Text;
                smsParser.Type                = (int)SmsParserType.Filter;
                smsParser.CreateDate          = DateTime.Now;
                smsParser.FromDateTime        = DateManager.GetChristianDateTimeForDB(dtpStartDate.FullDateTime);
                smsParser.ToDateTime          = DateManager.GetChristianDateTimeForDB(dtpEndDate.FullDateTime);
                smsParser.Scope               = Helper.GetGuid(hdnScopeGuid.Value.Trim('\''));
                smsParser.UserGuid            = UserGuid;
                smsParser.ConditionSender     = Helper.GetLocalMobileNumber(txtConditionSender.Text);
                smsParser.TypeConditionSender = Helper.GetInt(drpTypeConditionSender.SelectedValue);
                parserFormula.Condition       = Helper.GetInt(drpConditions.SelectedValue);
                switch (parserFormula.Condition)
                {
                case (int)SmsFilterConditions.EqualWithPhoneBookField:
                    parserFormula.Key = string.Format("{0}/{1}", hdnConditionGroupGuid.Value, hdnConditionField.Value);
                    break;

                default:
                    parserFormula.Key = txtCondition.Text;
                    break;
                }

                switch (parserFormula.Condition)
                {
                case (int)SmsFilterConditions.NationalCode:
                    break;

                default:
                    if (Facade.SmsParser.IsDuplicateSmsParserKey(SmsParserGuid, smsParser.PrivateNumberGuid, parserFormula.Key))
                    {
                        throw new Exception(Language.GetString("DuplicateKeyword"));
                    }
                    break;
                }

                parserFormulaSerialization.Condition = Helper.GetInt(drpOperations.SelectedValue);
                switch (parserFormulaSerialization.Condition)
                {
                case (int)SmsFilterOperations.AddToGroup:
                case (int)SmsFilterOperations.RemoveFromGroup:
                    parserFormulaSerialization.ReferenceGuid = Helper.GetGuid(hdnOperationGroupGuid.Value.Trim('\''));
                    parserFormulaSerialization.Text          = txtSmsBody.Text;
                    parserFormulaSerialization.Sender        = Helper.GetGuid(drpSenderNumber.SelectedValue);
                    parserFormulaSerialization.VasURL        = txtUrl.Text;
                    break;

                case (int)SmsFilterOperations.SendSmsToGroup:
                    parserFormulaSerialization.Sender        = Helper.GetGuid(drpSenderNumber.SelectedValue);
                    parserFormulaSerialization.Text          = txtSmsBody.Text;
                    parserFormulaSerialization.ReferenceGuid = Helper.GetGuid(hdnGroupGuid.Value.Trim('\''));
                    break;

                case (int)SmsFilterOperations.ForwardSmsToGroup:
                    parserFormulaSerialization.Sender        = Helper.GetGuid(drpSenderNumber.SelectedValue);
                    parserFormulaSerialization.ReferenceGuid = Helper.GetGuid(hdnOperationGroupGuid.Value.Trim('\''));
                    break;

                case (int)SmsFilterOperations.SendSmsToSender:
                    parserFormulaSerialization.Sender        = Helper.GetGuid(drpSenderNumber.SelectedValue);
                    parserFormulaSerialization.Text          = txtSmsBody.Text;
                    parserFormulaSerialization.ReferenceGuid = Guid.Empty;
                    break;

                case (int)SmsFilterOperations.TransferToUrl:
                    parserFormulaSerialization.ReferenceGuid = Helper.GetGuid(drpTrafficRelay.SelectedValue);
                    break;

                case (int)SmsFilterOperations.TransferToMobile:
                    parserFormulaSerialization.Sender = Helper.GetGuid(drpSenderNumber.SelectedValue);
                    parserFormulaSerialization.Text   = txtOpration.Text;
                    break;

                case (int)SmsFilterOperations.SendSmsFromFormat:
                    parserFormulaSerialization.Sender           = Helper.GetGuid(drpSenderNumber.SelectedValue);
                    parserFormulaSerialization.AcceptFormatGuid = Helper.GetGuid(drpAccpetFormat.SelectedValue);
                    parserFormulaSerialization.RejectFormatGuid = Helper.GetGuid(drpRejectFormat.SelectedValue);
                    break;

                default:
                    parserFormulaSerialization.Text = txtOpration.Text;
                    break;
                }
                parserFormula.ReactionExtention = SerializationTools.SerializeToXml(parserFormulaSerialization, parserFormulaSerialization.GetType());

                if (smsParser.HasError)
                {
                    throw new Exception(smsParser.ErrorMessage);
                }

                switch (ActionType)
                {
                case "insert":
                    if (!Facade.SmsParser.InsertFilter(smsParser, parserFormula))
                    {
                        throw new Exception(Language.GetString("ErrorRecord"));
                    }

                    break;

                case "edit":
                    if (!Facade.SmsParser.UpdateFilter(smsParser, parserFormula))
                    {
                        throw new Exception(Language.GetString("ErrorRecord"));
                    }
                    break;
                }

                Response.Redirect(string.Format("/PageLoader.aspx?c={0}", Helper.Encrypt((int)UserControls.UI_SmsParsers_Filters_SmsFilter, Session)));
            }
            catch (Exception ex)
            {
                ShowMessageBox(ex.Message, string.Empty, "danger");
            }
        }