Пример #1
0
 public static void OnAfterDelete(IAccNewsletter accnewsletter)
 {
     using (var session = new SessionScopeWrapper())
     {
         // обновить контакты
         if (accnewsletter.AccContactInfo != null)
         {
             CommonProcedures.UpdateAccountContacts(accnewsletter.AccContactInfo.AccountId, session);
         }
     }
 }
Пример #2
0
 public static void OnAfterInsertStep(IAccNewsletter accnewsletter)
 {
     accnewsletter.UnsetAllMain();
     //accnewsletter.CheckAccContactInfo();
     using (var session = new SessionScopeWrapper())
     {
         // обновить контакты
         if (accnewsletter.AccContactInfo != null)
         {
             CommonProcedures.UpdateAccountContacts(accnewsletter.AccContactInfo.AccountId, session);
         }
     }
 }
Пример #3
0
        public static void UnsetAllMainStep(IAccNewsletter accnewsletter)
        {
            if (accnewsletter != null && accnewsletter.IsActual.HasValue && accnewsletter.IsActual.Value == true)
            {
                IQueryable         qry = EntityFactory.GetRepository <IAccNewsletter>() as IQueryable;
                IExpressionFactory ep  = qry.GetExpressionFactory();
                ICriteria          crt = qry.CreateCriteria();

                crt.Add(ep.Eq("Accountid", accnewsletter.Accountid));
                crt.Add(ep.Eq("IsActual", true));
                crt.Add(ep.Ne("Id", accnewsletter.Id.ToString()));
                crt.Add(ep.Eq("DeliveryType", accnewsletter.DeliveryType));
                IList <IAccNewsletter> lst = crt.List <IAccNewsletter>();

                foreach (IAccNewsletter rec in lst)
                {
                    rec.IsActual = false;
                    rec.Save();
                }
            }
        }
Пример #4
0
        public static void CheckAccContactInfoStep(IAccNewsletter accnewsletter)
        {
            if (!String.IsNullOrEmpty(accnewsletter.Email))
            {
                IQueryable         qry = EntityFactory.GetRepository <IAccContactInfo>() as IQueryable;
                IExpressionFactory ep  = qry.GetExpressionFactory();
                ICriteria          crt = qry.CreateCriteria();

                crt.Add(ep.Eq("AccountId", accnewsletter.Accountid));
                crt.Add(ep.Eq("ContactValue", accnewsletter.Email));

                IList <IAccContactInfo> lst = crt.List <IAccContactInfo>();
                if (lst.Count > 0)
                {
                    foreach (IAccContactInfo vEntity in lst)
                    {
                        vEntity.Comments = "Рассылка сведений об операциях";
                        vEntity.IsActual = true;
                        vEntity.Save();
                    }
                }
                else
                {
                    IAccContactInfo com = EntityFactory.Create <IAccContactInfo>();
                    com.AccountId = accnewsletter.Accountid;
                    com.IsActual  = true;
                    if (accnewsletter.DeliveryType.Contains("E-mail"))
                    {
                        com.ContactType = "E-mail для рассылки";
                    }
                    else
                    {
                        com.ContactType = "Телефон для рассылки";
                    }
                    com.Comments     = "Рассылка сведений об операциях";
                    com.ContactValue = accnewsletter.Email;
                    com.Save();
                }
            }
        }
Пример #5
0
 public static void OnBeforeUpdateStep(IAccNewsletter accnewsletter, NHibernate.ISession session)
 {
     /*if (!String.IsNullOrEmpty(accnewsletter.DeliveryType))
      * {
      *  string[] arr = accnewsletter.DeliveryType.Split(';');
      *  string el = arr[0];
      *  for (int i = 1; i < arr.Length; i++)
      *  {
      *      el = arr[i];
      *      IQueryable qry = EntityFactory.GetRepository<IAccNewsletter>() as IQueryable;
      *      IExpressionFactory ep = qry.GetExpressionFactory();
      *      ICriteria crt = qry.CreateCriteria();
      *
      *      crt.Add(ep.Eq("Accountid", accnewsletter.Accountid));
      *      crt.Add(ep.Eq("IsActual", true));
      *      crt.Add(ep.Eq("DeliveryType", el.Trim()));
      *      IList<IAccNewsletter> lst = crt.List<IAccNewsletter>();
      *
      *      if (lst.Count > 0)
      *      {
      *          foreach (IAccNewsletter rec in lst)
      *          {
      *              rec.IsActual = false;
      *              rec.Save();
      *          }
      *      }
      *
      *      IAccNewsletter com = EntityFactory.Create<IAccNewsletter>();
      *      com.Accountid = accnewsletter.Accountid;
      *      com.AttachId = accnewsletter.AttachId;
      *      if ((el.Trim().ToLower().Contains("mail") || el.Trim().ToLower().Contains("мэйл")))
      *      {
      *          com.Email = accnewsletter.Email;
      *      }
      *      else
      *      {
      *          com.Phone = accnewsletter.Phone;
      *          com.IsRussia = accnewsletter.IsRussia;
      *          com.IsForeign = accnewsletter.IsForeign;
      *      }
      *      com.IsActual = true;
      *      com.DeliveryType = el.Trim();
      *      com.Subscription = accnewsletter.Subscription;
      *      com.ModifyDate = accnewsletter.ModifyDate;
      *      com.ModifyUser = accnewsletter.ModifyUser;
      *      com.Save();
      *  }
      *  //Записываем старые значения
      *
      *  string Email = accnewsletter.Email;
      *  string Phone = accnewsletter.Phone;
      *  bool? IsRussia = accnewsletter.IsRussia;
      *  bool? IsForeign = accnewsletter.IsForeign;
      *  string DeliveryType = arr[0];
      *  string Subscription = accnewsletter.Subscription;
      *  string AttachId = accnewsletter.AttachId;
      *  DateTime? ModifyDate = null;
      *  ModifyDate = accnewsletter.ModifyDate;
      *  string ModifyUser = accnewsletter.ModifyUser;
      *
      *  IChangedState state = accnewsletter as IChangedState;
      *
      *  PropertyChange change = state.GetChangedState().FindPropertyChange("DeliveryType");
      *
      *  if (change != null)
      *  {
      *      DeliveryType = (string)change.OldValue;
      *  }
      *
      *  change = state.GetChangedState().FindPropertyChange("Email");
      *
      *  if (change != null)
      *  {
      *      Email = (string)change.OldValue;
      *  }
      *
      *  change = state.GetChangedState().FindPropertyChange("Phone");
      *
      *  if (change != null)
      *  {
      *      Phone = (string)change.OldValue;
      *  }
      *
      *  change = state.GetChangedState().FindPropertyChange("IsRussia");
      *
      *  if (change != null)
      *  {
      *      IsRussia = (bool?)change.OldValue;
      *  }
      *
      *  change = state.GetChangedState().FindPropertyChange("IsForeign");
      *
      *  if (change != null)
      *  {
      *      IsForeign = (bool?)change.OldValue;
      *  }
      *
      *  change = state.GetChangedState().FindPropertyChange("Subscription");
      *
      *  if (change != null)
      *  {
      *      Subscription = (string)change.OldValue;
      *  }
      *
      *  change = state.GetChangedState().FindPropertyChange("AttachId");
      *
      *  if (change != null)
      *  {
      *      AttachId = (string)change.OldValue;
      *  }
      *
      *  change = state.GetChangedState().FindPropertyChange("ModifyDate");
      *
      *  if (change != null)
      *  {
      *      ModifyDate = (DateTime?)change.OldValue;
      *  }
      *
      *  change = state.GetChangedState().FindPropertyChange("ModifyUser");
      *
      *  if (change != null)
      *  {
      *      ModifyUser = (string)change.OldValue;
      *  }
      *
      *  if (Phone != accnewsletter.Phone && Phone != null && accnewsletter.Phone != null || IsForeign != accnewsletter.IsForeign || IsRussia != accnewsletter.IsRussia || Email != accnewsletter.Email && Email != null && accnewsletter.Email != null || Subscription != accnewsletter.Subscription || AttachId != accnewsletter.AttachId || DeliveryType != accnewsletter.DeliveryType)
      *  {
      *      //Записываем старые значения
      *      IAccNewsletter com = EntityFactory.Create<IAccNewsletter>();
      *      com.Accountid = accnewsletter.Accountid;
      *      com.AttachId = AttachId;
      *
      *      if ((DeliveryType.ToLower().Contains("mail") || DeliveryType.ToLower().Contains("мэйл")))
      *      {
      *          com.Email = Email;
      *      }
      *      else
      *      {
      *          com.Phone = Phone;
      *          com.IsRussia = IsRussia;
      *          com.IsForeign = IsForeign;
      *      }
      *      com.IsActual = false;
      *      com.DeliveryType = DeliveryType;
      *      com.Subscription = Subscription;
      *      com.ModifyDate = ModifyDate;
      *      com.ModifyUser = ModifyUser;
      *      com.Save();
      *
      *      accnewsletter.DeliveryType = arr[0].Trim();
      *      accnewsletter.IsActual = true;
      *      if (arr[0].Trim().ToLower().Contains("mail") || arr[0].Trim().ToLower().Contains("мэйл"))
      *      {
      *          accnewsletter.Phone = "";
      *          accnewsletter.IsRussia = false;
      *          accnewsletter.IsForeign = false;
      *      }
      *      else
      *      {
      *          accnewsletter.Email = "";
      *      }
      *  }
      * }*/
 }
Пример #6
0
 public static void OnBeforeInsertStep(IAccNewsletter accnewsletter, NHibernate.ISession session)
 {
     /*accnewsletter.IsActual = true;
      * if (!String.IsNullOrEmpty(accnewsletter.DeliveryType))
      * {
      *  string[] arr = accnewsletter.DeliveryType.Split(';');
      *  string el = arr[0];
      *  for (int i = 1; i < arr.Length; i++)
      *  {
      *      el = arr[i];
      *      IQueryable qry = EntityFactory.GetRepository<IAccNewsletter>() as IQueryable;
      *      IExpressionFactory ep = qry.GetExpressionFactory();
      *      ICriteria crt = qry.CreateCriteria();
      *
      *      crt.Add(ep.Eq("Accountid", accnewsletter.Accountid));
      *      crt.Add(ep.Eq("IsActual", true));
      *      crt.Add(ep.Eq("DeliveryType", el.Trim()));
      *      IList<IAccNewsletter> lst = crt.List<IAccNewsletter>();
      *
      *      if (lst.Count > 0)
      *      {
      *          foreach (IAccNewsletter rec in lst)
      *          {
      *              rec.IsActual = false;
      *              rec.Save();
      *          }
      *      }
      *
      *      IAccNewsletter com = EntityFactory.Create<IAccNewsletter>();
      *      com.Accountid = accnewsletter.Accountid;
      *      com.AttachId = accnewsletter.AttachId;
      *      if ((el.Trim().ToLower().Contains("mail") || el.Trim().ToLower().Contains("мэйл")))
      *      {
      *          com.Email = accnewsletter.Email;
      *      }
      *      else
      *      {
      *          com.Phone = accnewsletter.Phone;
      *          com.IsRussia = accnewsletter.IsRussia;
      *          com.IsForeign = accnewsletter.IsForeign;
      *      }
      *      com.IsActual = true;
      *      com.DeliveryType = el.Trim();
      *      com.Subscription = accnewsletter.Subscription;
      *      com.ModifyDate = accnewsletter.ModifyDate;
      *      com.ModifyUser = accnewsletter.ModifyUser;
      *      com.Save();
      *  }
      *  accnewsletter.DeliveryType = arr[0].Trim();
      *  if (arr[0].Trim().ToLower().Contains("mail") || arr[0].Trim().ToLower().Contains("мэйл"))
      *  {
      *      accnewsletter.Phone = "";
      *      accnewsletter.IsRussia = false;
      *      accnewsletter.IsForeign = false;
      *  }
      *  else
      *  {
      *      accnewsletter.Email = "";
      *  }
      * }*/
 }