protected override NgResult _update(EmailSenderDataProviderVM[] models)
 {
     using (var l = new MessagesModuleLogic()) {
         foreach (var model in models)
         {
             var item = l.Get <tblEmailSenderDataProvider>(model.Id);
             EmailSenderDataProviderVM.ReflectToTblEmailSenderDataProvider.Run(model, item);
             l.SaveChanges(item);
         }
     }
     return(NgResult.Succes(DEBS.Translate("MessageMdl.{0} email providers was modified", models.Count())));
 }
Beispiel #2
0
 protected override NgResult _update(MessageScheduleVM[] models)
 {
     using (var l = new MessagesModuleLogic()) {
         foreach (var model in models)
         {
             var item = l.Get <tblMessageSchedule>(model.Id);
             MessageScheduleVM.ReflectToTblMessageSchedule.Run(model, item);
             l.SaveChanges(item);
         }
     }
     return(NgResult.Succes(DEBS.Translate("MessageMdl.{0} schedules was modified", models.Count())));
 }
Beispiel #3
0
        public JsonResult MockMessage(int templateId, int?MaxCount)
        {
            using (var l = new MessagesModuleLogic()) {
                var tmpl = l.Get <tblTemplate>(templateId);
                if (tmpl == null)
                {
                    return(NgResultToJsonResult(NgResult.Fail(DEBS.Translate("MessageMdl.Server Error: cannot find template, try save it and re-open."))));
                }

                var items = TASK_PROTOTYPE.GetDemoMessages(l, tmpl, sqllogic, tmpl.IsSms, MaxCount ?? 0);
                return(NgResultToJsonResult(FetchResult <Message> .Succes(items, items.Count)));
            }
        }
        public void CollectTest()
        {
            using (var logic = new MessagesModuleLogic(new MessageContext(Settings.MessageContextConnectionString))) {
                using (var sqlLogic = new SqlLogic(new SqlConnectionFactory(Settings.SqlConnectionString))) {
                    using (var Bcm = BatchCreationManager.NewInstance(new DateTime(2016, 9, 3), new DateTime(2016, 9, 5), sqlLogic, logic)) {
                        Bcm.DontMakeTimeStamp();
                        var sced = logic.Get <tblMessageSchedule>(1);

                        var Collector = new MessageDataCollector(Bcm);
                        var result    = Collector.Collect(sced);
                    }
                }
            }
        }
 protected override NgResult _update(RFilterVM[] models)
 {
     using (var l = new MessagesModuleLogic()) {
         foreach (var model in models)
         {
             var filt = l.Get <tblRecepientFilter>(model.Id);
             filt.Name = model.Name;
             filt.tblRecepientFilterTableNameId = model.BaseTableId;
             l.SaveChanges(filt);
             model.Id = filt.Id;
             CreateAndUpdateRFilterParts(model, l);
         }
     }
     return(NgResult.Succes());
 }
Beispiel #6
0
 public JsonResult SendImmediately(int ScheduleId)
 {
     using (var l = new MessagesModuleLogic()) {
         var sched = l.Get <tblMessageSchedule>(ScheduleId);
         if (sched == null)
         {
             return(NgResultToJsonResult(NgResult.Fail(DEBS.Translate("MessageMdl.Server Error: cannot find template, try save it and re-open."))));
         }
         var result     = TASK_PROTOTYPE.RunImmediateBatchCreation(sched, 1, sqllogic, l);
         var msgBuilder = new StringBuilder();
         msgBuilder.AppendLine(DEBS.Translate("MessageMdl.Message Batch was created and will be sended as soon as possible."));
         msgBuilder.AppendLine(DEBS.Translate("MessageMdl.It contains: {0} messages.", result.Messages.Count()));
         var msg = msgBuilder.ToString();
         return(NgResultToJsonResult(NgResult.Succes(msg)));
     }
 }
Beispiel #7
0
        public JsonResult GetColumns(int id)
        {
            string tablename;

            using (var l = new MessagesModuleLogic()) {
                var item = l.Get <tblRecepientFilterTableName>(id);
                if (item == null)
                {
                    return(NgResultToJsonResult(NgResult.Fail(DEBS.Translate("MessageMdl.There is no binded table in database with id: {0}", id))));
                }
                tablename = item.ReferncedTableName;
            }
            var data = sqlLogic.GetColomnsInfos(tablename);

            return(NgResultToJsonResult(FetchResult <IDictionary <string, string> > .Succes(data, data.Count)));
        }
 protected void ManagerRFilterPart <TEnitity, TNgViewModel> (MessagesModuleLogic l, IEnumerable <TNgViewModel> items, Action <TEnitity, TNgViewModel> updater)
     where TEnitity : class, IMessagesModuleEntity
     where TNgViewModel : class, INgViewModel
 {
     if (items == null)
     {
         return;
     }
     //TODO OPTIMIZE work with DB
     foreach (var item in items)
     {
         TEnitity ent = null;
         if (item.ng_ToDelete)
         {
             l.Delete <TEnitity>(item.Id);
         }
         else if (item.ng_JustCreated)
         {
             ent = l.Create <TEnitity>();
         }
         else
         {
             ent = l.Get <TEnitity>(item.Id);
         }
         if (ent != null)
         {
             updater(ent, item);
             if (item.ng_JustCreated)
             {
                 l.Add(ent);
             }
             else
             {
                 l.SaveChanges(ent);
             }
         }
     }
 }