Esempio n. 1
0
        public virtual MimeMessage Create(MailContext context, string subject)
        {
            var message = Create(context);

            message.Subject = subject;
            return(message);
        }
Esempio n. 2
0
        //Установка значений в ComboBox и в строку даты
        private void SetData()
        {
            using (MailContext context = new MailContext())
            {
                IQueryable <Operation>    operations    = context.Operations.Select(c => c);
                IQueryable <Mailing>      mailings      = context.Mailings.Select(c => c);
                IQueryable <Subscription> subscriptions = context.Subscriptions.Select(c => c);

                operationsArr    = operations.ToArray <Operation>();
                mailingsArr      = mailings.ToArray <Mailing>();
                subscriptionsArr = subscriptions.ToArray <Subscription>();

                IOUMainTable_ComboBox_id_Subscription.Items.Add("Без подписки");
                foreach (Operation operation in operations)
                {
                    IOUMainTable_ComboBox_id_Operation.Items.Add(operation.ToString());
                }
                foreach (Mailing mailing in mailings)
                {
                    IOUMainTable_ComboBox_id_Mailing.Items.Add(mailing.ToString());
                }
                foreach (Subscription subscription in subscriptions)
                {
                    IOUMainTable_ComboBox_id_Subscription.Items.Add(subscription.LongToString());
                }

                IOUMainTable_TBox_date_Operation.Text = DateTime.UtcNow.ToLocalTime().ToString();
            }
        }
        public string BuildMessageContent(MailContext context)
        {
            _stringBuilder.AppendFormat("Thank you {0} for your registration. Below you can find autogenerated link which you should use to confirm your registration", context.EmailContent.ReceiverName);
            Finalize();

            return(_stringBuilder.ToString());
        }
Esempio n. 4
0
        public ActionResult ProcessNotClosedOrders()
        {
            OrdersContext      context    = new OrdersContext();
            IQueryable <Order> orders     = context.OrdersNotClosed;
            IQueryable         users      = OrdersUser.getAllUsers();
            List <string>      mailToList = new List <string>();

            foreach (OrdersUser user in users)
            {
                if (user.SendAllMail || user.SendAllCreateMail || user.Name.Contains("SVOD"))
                {
                    if (user.Mails.Count > 0)
                    {
                        foreach (string mail in user.Mails)
                        {
                            if (!String.IsNullOrEmpty(mail))
                            {
                                mailToList.Add(mail);
                            }
                        }
                    }
                }
            }
            //mailToList.Add("*****@*****.**");
            MailContext.sendOrdersListTable("Местные заявки", orders.ToList(), mailToList);
            return(View());
        }
		public void Person_contact_from_supplier()
		{
			var message = Mime.Parse(@"..\..\Data\MailContextFixture\Unparse_Protek.eml");
			var context = new MailContext();
			var name = Generator.Name();
			var email = name + "@test.ru";
			var fromList = new AddressList();
			fromList.Add(new MailboxAddress(email));

			var supplier = TestSupplier.CreateNaked(session);
			supplier.Name = name;
			session.Save(supplier);
			var group = supplier.ContactGroupOwner.AddContactGroup(ContactGroupType.MiniMails);
			session.Save(group);
			group.AddPerson("Tестовая персона");
			session.Save(group.Persons[0]);
			var contact = group.Persons[0].AddContact(ContactType.Email, email);
			session.Save(contact);

			FlushAndCommit();
			context.ParseMime(message, fromList);

			Assert.AreEqual(context.Suppliers.Count, 1);
			Assert.AreEqual(context.Suppliers[0].Name, name);
		}
Esempio n. 6
0
        //Вызов окна подтверждения удаления записи для Главной таблицы, а также удаление записи
        private void DeleteInMainTable()
        {
            DeleteMail = new ShowOrDeleteInMainTable();
            int selectedIndex;
            int selectedRow = dataGrid_MainTable.SelectedIndex;

            if (selectedRow >= 0)
            {
                DeleteMail.SetData(mailArr[selectedRow], ShowOrDeleteInMainTable.ModeWindow.DeleteConfirm);
                selectedIndex = mailArr[selectedRow].mail_Id;
            }
            else
            {
                MessageBox.Show("Выделите запись которую желаете удалить", "Внимание", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }
            DeleteMail.Owner = this;

            bool?result = DeleteMail.ShowDialog();

            if (result == true)
            {
                using (MailContext context = new MailContext())
                {
                    Mail mail = context.Mail.FirstOrDefault <Mail>(c => c.mail_Id == selectedIndex);
                    context.Mail.Remove(mail);
                    context.SaveChanges();

                    MessageBox.Show("Запись №" + selectedIndex + " в Главной таблице удалена успешно!", "Успешно", MessageBoxButton.OK, MessageBoxImage.Information);

                    RefreshMainTable();
                }
            }
        }
Esempio n. 7
0
        //Метод установки значений ссылкой на другую таблицу в ComboBox в блоке поиска значений в таблице Подписок
        private void SetDataSearchInSubscription()
        {
            using (MailContext context = new MailContext())
            {
                IQueryable <Subscriber> subscribers = context.Subscribers.Select(c => c);
                IQueryable <Edition>    editions    = context.Editions.Select(c => c);

                searchSubscription_SubscriberArr = subscribers.ToArray <Subscriber>();
                searchSubscription_EditionArr    = editions.ToArray <Edition>();

                comboBox_SearchSubscription_IDSubscriber.Items.Clear();
                comboBox_SearchSubscription_IDEdition.Items.Clear();

                comboBox_SearchSubscription_IDSubscriber.Items.Add("Нет");
                comboBox_SearchSubscription_IDEdition.Items.Add("Нет");

                foreach (Subscriber subscriber in subscribers)
                {
                    comboBox_SearchSubscription_IDSubscriber.Items.Add(subscriber.ToString());
                }
                foreach (Edition edition in editions)
                {
                    comboBox_SearchSubscription_IDEdition.Items.Add(edition.ToString());
                }

                comboBox_SearchSubscription_IDSubscriber.SelectedIndex = 0;
                comboBox_SearchSubscription_IDEdition.SelectedIndex    = 0;
            }
        }
        //Вызов окна подтверждения удаления записи для таблицы Подписок, а также удаление записи
        private void DeleteInSubscriber()
        {
            DeleteSubscriber = new ShowOrDeleteInSubscriber();
            int selectedIndex;
            int selectedRow = dataGrid_Subscriber.SelectedIndex;

            if (selectedRow >= 0)
            {
                DeleteSubscriber.SetData(subscriberArr[selectedRow], ShowOrDeleteInSubscriber.ModeWindow.DeleteConfirm);
                selectedIndex = subscriberArr[selectedRow].subscriber_Id;
            }
            else
            {
                MessageBox.Show("Выделите запись которую желаете удалить", "Внимание", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }
            DeleteSubscriber.Owner = this;

            bool?result = DeleteSubscriber.ShowDialog();

            if (result == true)
            {
                using (MailContext context = new MailContext())
                {
                    Subscriber subscriber = (Subscriber)context.Subscribers.FirstOrDefault(c => c.subscriber_Id == selectedIndex);

                    List <Subscription> subscriptions   = context.Subscriptions.Where(c => c.id_Subscriber.subscriber_Id == subscriber.subscriber_Id).ToList();
                    List <int>          subscriptionsId = new List <int>();
                    foreach (Subscription subscription in subscriptions)
                    {
                        subscriptionsId.Add(subscription.subscription_Id);
                    }

                    //Проверка на наличие ссылки на удаляемую запись
                    List <Mail> mails = context.Mail.Where(c => subscriptionsId.Contains(c.id_Subscription.subscription_Id)).ToList();
                    if (mails.Count > 0)
                    {
                        if (MessageBox.Show("Внимание! Удаление " + selectedIndex
                                            + " записи таблице приведет к удалению " + subscriptions.Count
                                            + " подписок в таблице Подписок! \n"
                                            + " А также к обнулению " + mails.Count
                                            + " ссылок на подписку в Главной таблице!"
                                            + "\n Вы уверены что хотите удалить " + selectedIndex + " запись в таблице Подписок?"
                                            , "Внимание", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.No)
                        {
                            return;
                        }
                    }
                    context.Subscribers.Remove(subscriber);
                    context.SaveChanges();

                    MessageBox.Show("Запись №" + selectedIndex + " в таблице Подписчиков удалена успешно!", "Успешно", MessageBoxButton.OK, MessageBoxImage.Information);

                    RefreshSubscriberTable();
                    RefreshSubscriptionTable();
                    RefreshMainTable();
                }
            }
        }
		public void Accept_html_extension_for_vip_sender()
		{
			var context = new MailContext {
				Suppliers = new List<Supplier>()
			};
			TemplateHolder.Values.AllowedMiniMailExtensions = "doc, git, xls";
			context.Suppliers.Add(new Supplier { Payer = 921 });
			Assert.That(context.IsValidExtension(".html"), Is.True);
		}
Esempio n. 10
0
        public void WhenEmailContentIsNullThenEmailContentIsFilledWithEmptyMessageType()
        {
            MailService mailService = new MailService(Mock.Of <IClient>(), Mock.Of <IMessageBuilderFactory>());

            MailContext mailContext = mailService.BuildMessage(new MailContext());

            mailContext.EmailContent.Should().NotBeNull();
            mailContext.EmailContent.MessageType.Should().Be(MailMessageType.Empty);
        }
Esempio n. 11
0
        public void WhenContextIsNullThenEmptyInstanceOfMailContextIsReturned()
        {
            MailService mailService = new MailService(Mock.Of <IClient>(), Mock.Of <IMessageBuilderFactory>());

            MailContext mailContext = mailService.BuildMessage(null);

            mailContext.Should().NotBeNull();
            mailContext.EmailContent.Should().NotBeNull();
            mailContext.EmailContent.MessageType.Should().Be(MailMessageType.Empty);
        }
Esempio n. 12
0
        public MimeMessage CreateErrorMessage(MailContext context, string subject, IList <string> senders, IList <string> recievers)
        {
            TemplateName = "ErrorTemplate.cshtml";
            if (string.IsNullOrEmpty(subject))
            {
                subject = "The error was occured";
            }
            var message = Create(context, subject, senders, recievers);

            return(message);
        }
Esempio n. 13
0
 public Mail(MailContext context)
     : this()
 {
     Supplier      = context.Suppliers[0];
     SupplierEmail = context.SupplierEmails;
     Subject       = context.Subject;
     Body          = context.Body;
     LogTime       = DateTime.Now;
     SHA256Hash    = context.SHA256MailHash;
     IsVIPMail     = context.IsMailFromVipSupplier;
 }
Esempio n. 14
0
        public IQueryable <Order> GetFilteredOrdersFromFilterToMail(OrderFilter Filter, Guid guid)
        {
            Filter.SelectedUsersStr   = Filter.getSelectedUsersJoinStr();
            Filter.SelectedObjectsStr = Filter.getSelectedObjectsJoinStr();
            Logger.info("Получение списка заказов (GetFilteredOrdersFromXML) В почту", Logger.LoggerSource.service);
            IQueryable <Order> ordersQuery = context.getOrders(Filter);
            List <Order>       orders      = ordersQuery.ToList();

            MailContext.sendOrdersList("Список заявкок", orders);
            return(ordersQuery);
        }
        //Создание БД
        private static void CreateTables()
        {
            using (MailContext context = new MailContext())
            {
                context.Database.Create();

                context.SaveChanges();

                Console.WriteLine("Все прошло удачно!");
            }
        }
		public void FromAddressParseProblem()
		{
			var message = Mime.Parse(@"..\..\Data\MailContextFixture\Unparse_Protek.eml");
			var fromList = MimeEntityExtentions.GetAddressList(message);
			Assert.That(fromList.Count, Is.EqualTo(0), "Список разборанных адресов отправителя должен быть пустым");

			var context = new MailContext();

			var exception = Assert.Throws<FromParseException>(() => context.ParseMime(message, fromList));

			Assert.That(exception.Message, Is.StringStarting("Не смогли разобрать список отправителей письма для сопоставления с поставщиками"));
		}
        //Метод для установки значений в таблице Подписчиков
        private void SetDataInGridSubscriber()
        {
            using (MailContext context = new MailContext())
            {
                IQueryable <Subscriber> subscribers = context.Subscribers.Select(c => c);

                subscriberArr = subscribers.ToArray <Subscriber>();

                dataGrid_Subscriber.ItemsSource = subscribers.ToList <Subscriber>();

                subscriberArrNow = subscriberArr;
            }
        }
Esempio n. 18
0
        public ActionResult ProcessExpiredOrders()
        {
            OrdersContext      context       = new OrdersContext();
            IQueryable <Order> expiredOrders = context.OrdersActiveExpired;

            foreach (Order order in expiredOrders)
            {
                MailContext.sendMail(String.Format("Заявка №{0}. Заявка просрочена [{1}]", order.OrderYearNumber.ToString("#.##", OrderInfo.Current.NFI), order.FullOrderObjectInfo),
                                     order, false, true);
                Logging.Logger.info(String.Format("Отправка письма о просроченной заявке №{0} - {1}", order.OrderNumber.ToString("#.##", OrderInfo.Current.NFI), order.UserCreateOrder.Mail), Logging.Logger.LoggerSource.server);
            }
            return(View());
        }
Esempio n. 19
0
        //Метод для заполнения таблицы 'Подписки' тестовыми значениями
        private void AutoInsertSubscriptions()
        {
            using (MailContext context = new MailContext())
            {
                try
                {
                    Subscription        subscription  = new Subscription();
                    List <Subscription> subscriptions = new List <Subscription>();

                    IQueryable <Edition>    editions    = context.Editions.Select(c => c);
                    IQueryable <Subscriber> subscribers = context.Subscribers.Select(c => c);

                    Edition[] editionsArr = new Edition[editions.Count()];

                    int i = 0;
                    foreach (Edition edition in editions)
                    {
                        editionsArr[i] = edition;
                        i++;
                    }

                    int j = 0;
                    foreach (Subscriber subscriber in subscribers)
                    {
                        subscription.id_Subscriber = subscriber;

                        if (j == editionsArr.Length)
                        {
                            j = 0;
                        }
                        subscription.id_Edition      = editionsArr[j];
                        subscription.date_Сreation   = DateTime.Today;
                        subscription.date_Expiration = DateTime.Parse((DateTime.Today.AddMonths(j)).ToString());

                        subscriptions.Add(subscription);
                        j++;

                        subscription = new Subscription();
                    }

                    context.Subscriptions.AddRange(subscriptions);

                    context.SaveChanges();
                }
                catch (Exception e)
                {
                    Console.WriteLine("Ошибка при заполнении таблицы 'Подписки' Текст ошибки:" + e.ToString());
                }
            }
        }
Esempio n. 20
0
        public virtual MimeMessage Create(MailContext context, string subject, IList <string> senders, IList <string> recievers)
        {
            var message = Create(context, subject);

            foreach (var reciever in recievers)
            {
                message.To.Add(new MailboxAddress(reciever));
            }
            foreach (var sender in senders)
            {
                message.From.Add(new MailboxAddress(sender));
            }
            return(message);
        }
        //Метод инициализации переменных для поиска в таблице Подписчиков
        private void InitializeSearchDataInSubscriber()
        {
            //Предварительно очищаем переменные
            CleanSearchSubscriberVariables();

            using (MailContext context = new MailContext())
            {
                textBox_SearchSubscriber_MinID.Text.Trim();
                if (textBox_SearchSubscriber_MinID.Text != null && textBox_SearchSubscriber_MinID.Text != "")
                {
                    if (Int32.TryParse(textBox_SearchSubscriber_MinID.Text, out searchSubscriber_minId) == true)
                    {
                        searchSubscriber_minId = Int32.Parse(textBox_SearchSubscriber_MinID.Text);
                    }
                }
                textBox_SearchSubscriber_MaxID.Text.Trim();
                if (textBox_SearchSubscriber_MaxID.Text != null && textBox_SearchSubscriber_MaxID.Text != "")
                {
                    if (Int32.TryParse(textBox_SearchSubscriber_MaxID.Text, out searchSubscriber_maxId) == true)
                    {
                        searchSubscriber_maxId = Int32.Parse(textBox_SearchSubscriber_MaxID.Text);
                    }
                }

                textBox_SearchSubscriber_FirstName.Text.Trim();
                if (textBox_SearchSubscriber_FirstName.Text != "" || textBox_SearchSubscriber_FirstName.Text != null)
                {
                    searchSubscriber_FirstName = textBox_SearchSubscriber_FirstName.Text;
                }

                textBox_SearchSubscriber_LastName.Text.Trim();
                if (textBox_SearchSubscriber_LastName.Text != "" || textBox_SearchSubscriber_LastName.Text != null)
                {
                    searchSubscriber_LastName = textBox_SearchSubscriber_LastName.Text;
                }

                textBox_SearchSubscriber_MiddleName.Text.Trim();
                if (textBox_SearchSubscriber_MiddleName.Text != "" || textBox_SearchSubscriber_MiddleName.Text != null)
                {
                    searchSubscriber_MiddleName = textBox_SearchSubscriber_MiddleName.Text;
                }

                textBox_SearchSubscriber_Address.Text.Trim();
                if (textBox_SearchSubscriber_Address.Text != "" || textBox_SearchSubscriber_Address.Text != null)
                {
                    searchSubscriber_Address = textBox_SearchSubscriber_Address.Text;
                }
            }
        }
        //Установка значения в соответствующие поля, а также выбор режима окна
        //subscriber - запись над котором проводится действие
        public void SetData(Subscriber subscriber, ModeWindow MW)
        {
            SetMode(MW);

            using (MailContext context = new MailContext())
            {
                SODSubscriber_TBox_subscriber_Id.Text = subscriber.subscriber_Id.ToString();
                SODSubscriber_TBox_last_Name.Text     = subscriber.last_Name;
                SODSubscriber_TBox_first_Name.Text    = subscriber.first_Name;
                SODSubscriber_TBox_middle_Name.Text   = subscriber.middle_Name;
                SODSubscriber_TBox_sub_Address.Text   = subscriber.sub_Address;

                id = subscriber.subscriber_Id;
            }
        }
Esempio n. 23
0
        //Установка значения в соответствующие поля, а также выбор режима окна
        //subscription - запись над котором проводится действие
        public void SetData(Subscription subscription, ModeWindow MW)
        {
            SetMode(MW);

            using (MailContext context = new MailContext())
            {
                SODSubscription_Tbox_Id.Text              = subscription.subscription_Id.ToString();
                SODSubscription_TBox_id_Subscriber.Text   = subscription.id_Subscriber.ToString();
                SODSubscription_TBox_id_Edition.Text      = subscription.id_Edition.ToString();
                SODSubscription_TBox_date_Create.Text     = subscription.date_Сreation.ToString();
                SODSubscription_Tbox_date_Expiration.Text = subscription.date_Expiration.ToString();

                id = subscription.subscription_Id;
            }
        }
Esempio n. 24
0
        public void MessageBodyIsBuildByMessageBuilderReturnedFromFactory()
        {
            MailMessageType mailMessageType = It.IsAny <MailMessageType>();
            var             mailContext     = new MailContext()
            {
                EmailContent = new MailContent(mailMessageType)
            };
            IMessageBuilder messageBuilder = Mock.Of <IMessageBuilder>(builder => builder.BuildMessageContent(mailContext) == "test message");
            MailService     mailService    = new MailService(Mock.Of <IClient>(),
                                                             Mock.Of <IMessageBuilderFactory>(factory => factory.CreateMessageBuilder(mailMessageType) == messageBuilder));

            MailContext context = mailService.BuildMessage(mailContext);

            Mock.Get(messageBuilder).Verify(x => x.BuildMessageContent(mailContext), Times.Once);
            context.EmailContent.MessageBody.Should().Be("test message");
        }
 //Проверка подключения
 private bool CheckConnectionToServer()
 {
     try
     {
         using (MailContext context = new MailContext())
         {
             context.Database.Connection.Open();
             context.Database.Connection.Close();
         }
     }
     catch
     {
         return(false);
     }
     return(true);
 }
        public ActionResult Purchase(MailContext c)
        {
            try
            {
                List <BasketEntry> entries = Session["basket"] as List <BasketEntry>;

                if (entries == null)
                {
                    throw new Exception("Session has expired");
                }
                else if (entries.Count() == 0)
                {
                    throw new Exception("No items in the basket were found");
                }

                c.Entries = entries;

                List <IBuilder <string, MailContext> > builders = new List <IBuilder <string, MailContext> >()
                {
                    new MailHeaderBuilder()
                    {
                        Context = c
                    },
                    new MailBodyBuilder()
                    {
                        Context = c
                    },
                    new MailFooterBuilder()
                    {
                        Context = c
                    }
                };

                IDirector <string, MailContext> director = new MailDirector(builders);

                director.Act();

                Session["basket"] = null;

                return(new HttpStatusCodeResult(HttpStatusCode.OK));
            }
            catch (Exception e)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, e.Message));
            }
        }
Esempio n. 27
0
        //Установка значения в соответствующие поля, а также выбор режима окна
        //index - id записи над котором проводится действие
        public void SetData(int index, ModeWindow MW)
        {
            SetMode(MW);

            using (MailContext context = new MailContext())
            {
                Subscription subscription = context.Subscriptions.FirstOrDefault(c => c.subscription_Id == index);

                SODSubscription_Tbox_Id.Text              = subscription.subscription_Id.ToString();
                SODSubscription_TBox_id_Subscriber.Text   = subscription.id_Subscriber.ToLongString();
                SODSubscription_TBox_id_Edition.Text      = subscription.id_Edition.ToString();
                SODSubscription_TBox_date_Create.Text     = subscription.date_Сreation.ToString();
                SODSubscription_Tbox_date_Expiration.Text = subscription.date_Expiration.ToString();

                id = subscription.subscription_Id;
            }
        }
Esempio n. 28
0
        public virtual MimeMessage Create(MailContext context)
        {
            if (context == null)
            {
                context = new MailContext();
            }
            var body    = ParseTemplate(TemplatePath, TemplateName, context);
            var message = new MimeMessage
            {
                Body = new TextPart("html")
                {
                    Text = body
                }
            };

            return(message);
        }
        //Установка значения в соответствующие поля, а также выбор режима окна
        //index - id записи над котором проводится действие
        public void SetData(int index, ModeWindow MW)
        {
            SetMode(MW);

            using (MailContext context = new MailContext())
            {
                Subscriber subscriber = (Subscriber)context.Subscribers.FirstOrDefault(c => c.subscriber_Id == index);

                SODSubscriber_TBox_subscriber_Id.Text = subscriber.subscriber_Id.ToString();
                SODSubscriber_TBox_last_Name.Text     = subscriber.last_Name;
                SODSubscriber_TBox_first_Name.Text    = subscriber.first_Name;
                SODSubscriber_TBox_middle_Name.Text   = subscriber.middle_Name;
                SODSubscriber_TBox_sub_Address.Text   = subscriber.sub_Address;

                id = subscriber.subscriber_Id;
            }
        }
Esempio n. 30
0
        //Метод для заполнения  таблицы 'Типы операций' тестовыми значениями
        private void AutoInsertOperations()
        {
            string[] typeOperations = new string[] { "Прием", "Отправка" };

            using (MailContext context = new MailContext())
            {
                Operation operation = new Operation();

                foreach (string tp in typeOperations)
                {
                    operation.type_Operation = tp;
                    context.Operations.Add(operation);

                    context.SaveChanges();
                }
            }
        }
Esempio n. 31
0
        private static void SendErrorMail(string subject, string body)
        {
            string toMail = ConfigurationGeneral.ErrorMailReciever;
            MailAddress sender = new MailAddress(ConfigurationGeneral.ErrorMailSender);
            using (var mailcontext = new MailContext { SettingsSuppressExceptions = true })
            {
                //mailcontext.BccList = BccList;
                //mailcontext.CcList ;
                mailcontext.From = sender;
                //mailcontext.ReplyToList =
                mailcontext.Sender = sender;
                mailcontext.ToList.Add(new MailAddress(toMail));

                mailcontext.Send(subject, body);
            }
        }