Ejemplo n.º 1
0
        public SendFailResponse SendFail(Data.Models.MailQueue model)
        {
            if (this.Retrys.Contains(model.Id))
            {
                this.Retrys.Remove(model.Id);

                var file = GetIncomingFileName(model);

                if (System.IO.File.Exists(file))
                {
                    System.IO.File.Move(file, GetBadMailFileName(model));
                }

                return(new SendFailResponse()
                {
                    WillRetry = false, LogOk = true
                });
            }
            else
            {
                this.Retrys.Add(model.Id);

                return(new SendFailResponse()
                {
                    WillRetry = true, LogOk = true
                });
            }
        }
Ejemplo n.º 2
0
        public static void AddQueue(object input)
        {
            Kooboo.Data.Models.MailQueue value = new Data.Models.MailQueue();
            value.TaskModelType = input.GetType().FullName;
            value.JsonModel     = Lib.Helper.JsonHelper.Serialize(input);

            QueueStore.AddQueue(value);
        }
Ejemplo n.º 3
0
        public string GetIncomingFileName(Data.Models.MailQueue model)
        {
            string filename = model.Id.ToString() + ".mail";
            string fullname = System.IO.Path.Combine(this.IncomingFolder, filename);

            if (System.IO.File.Exists(fullname))
            {
                return(fullname);
            }
            return(null);
        }
Ejemplo n.º 4
0
        public void SendOk(Data.Models.MailQueue model)
        {
            var file = GetIncomingFileName(model);

            if (System.IO.File.Exists(file))
            {
                System.IO.File.Move(file, GetSentFileName(model));
            }

            this.Retrys.Remove(model.Id);
        }
Ejemplo n.º 5
0
        private string GetWriteFileName(Data.Models.MailQueue model)
        {
            string filename = model.Id.ToString() + ".mail";
            string fullname = System.IO.Path.Combine(this.IncomingFolder, filename);

            if (System.IO.File.Exists(fullname))
            {
                model.Id = Guid.NewGuid();
                return(GetWriteFileName(model));
            }
            return(fullname);
        }
Ejemplo n.º 6
0
        public void SendFailNoRetry(Data.Models.MailQueue model)
        {
            if (this.Retrys.Contains(model.Id))
            {
                this.Retrys.Remove(model.Id);
            }

            var file = GetIncomingFileName(model);

            if (System.IO.File.Exists(file))
            {
                System.IO.File.Move(file, GetBadMailFileName(model));
            }
        }
Ejemplo n.º 7
0
        public string GetBadMailFileName(Data.Models.MailQueue model)
        {
            string filename = model.Id.ToString() + ".mail";
            string path     = System.IO.Path.Combine(this.BadMailFolder, filename);

            if (!System.IO.File.Exists(path))
            {
                return(path);
            }
            else
            {
                filename = System.Guid.NewGuid().ToString() + ".mail";
                path     = System.IO.Path.Combine(this.SentFolder, filename);
                return(path);
            }
        }