Example #1
0
        public void Delete(int item)
        {
            SubscribeWord word = unitOfWork.SubscribeWords.GetById(item);

            unitOfWork.SubscribeWords.Delete(word);
            unitOfWork.Save();
        }
Example #2
0
        /// <summary>
        ///  Update subscribe word in db
        /// </summary>
        /// <param name="item">ViewModel of stopword</param>
        public void Update(SubscribeWordViewModel item)
        {
            SubscribeWord word = mapper.Map <SubscribeWordViewModel, SubscribeWord>(item);

            unitOfWork.SubscribeWords.Update(word);
            unitOfWork.Save();
        }
        /// <summary>
        /// check who is in the reported subscribeword
        /// if there is something
        /// look for the recipient and block the mailing in this group or start
        /// </summary>
        /// <param name="Originator">recipient PhoneNumber</param>
        /// <param name="Destination">company PhoneNumber</param>
        /// <param name="Content">message that came back</param>
        /// <param name="message">message.Originator/Destination/Content</param>

        public void SearchSubscribeWordInMessages(RecievedMessageDTO message)
        {
            SubscribeWord subscribeWord = unitOfWork.SubscribeWords.GetAll().FirstOrDefault(c => c.Word == message.MessageText);

            if (subscribeWord == null)
            {
                return;
            }

            Phone orignator = unitOfWork.Phones.GetAll()
                              .FirstOrDefault(item => item.PhoneNumber == message.SenderPhone);

            if (orignator == null)
            {
                orignator = new Phone()
                {
                    PhoneNumber = message.SenderPhone
                };
                unitOfWork.Phones.Insert(orignator);
                unitOfWork.Save();
            }

            Phone destination = unitOfWork.Phones.GetAll()
                                .FirstOrDefault(item => item.PhoneNumber == message.RecipientPhone);

            if (destination == null)
            {
                return;
            }

            var companies = unitOfWork.Companies.Get(item => item.PhoneId == destination.Id);

            foreach (var company in companies)
            {
                var companySubscribeWords = unitOfWork.CompanySubscribeWords.Get(m => m.CompanyId == company.Id);


                if (companySubscribeWords.Any(n => n.SubscribeWordId == subscribeWord.Id))
                {
                    var rec = unitOfWork.Recipients.Get(r => r.CompanyId == company.Id && r.PhoneId == orignator.Id);
                    if (!rec.Any())
                    {
                        unitOfWork.Recipients.Insert(new Recipient()
                        {
                            CompanyId = companySubscribeWords.FirstOrDefault().CompanyId,
                            PhoneId   = orignator.Id,
                            KeyWords  = "Subscribed himself",
                        });
                    }
                }
            }

            unitOfWork.Save();
        }
Example #4
0
 protected override void Initialize()
 {
     base.Initialize();
     manager = new SubscribeWordManager(mockUnitOfWork.Object, mockMapper.Object);
     item    = new SubscribeWord()
     {
         Id = 1, Word = "Test"
     };
     model = new SubscribeWordViewModel()
     {
         Id = 1, Word = "Test", CompanyId = 1
     };
     listWithItems        = new List <CompanySubscribeWord>();
     companySubscribeWord = new CompanySubscribeWord()
     {
         CompanyId = 1, SubscribeWord = item, SubscribeWordId = 1
     };
     listWithItems.Add(companySubscribeWord);
     TestContext.WriteLine("Overrided");
 }
Example #5
0
        public void SetUp()
        {
            recievedMessageManager = new RecievedMessageManager(mockUnitOfWork.Object, mockMapper.Object);
            TestContext.WriteLine("Overrided");
            phoneSender = new Phone()
            {
                Id = 9, PhoneNumber = "+380999999999"
            };
            phoneRecipient = new Phone()
            {
                Id = 10, PhoneNumber = "+380111111111"
            };
            listPhones = new List <Phone>()
            {
                phoneSender,
                phoneRecipient,
                new Phone()
                {
                    Id = 7, PhoneNumber = "+380501465619"
                }
            };

            testCompany = new Company()
            {
                Id                 = 1,
                PhoneId            = 10,
                Name               = "Test",
                ApplicationGroupId = 5
            };
            listCompanies = new List <Company>()
            {
                testCompany
            };
            subscribeWord = new SubscribeWord()
            {
                Id = 21, Word = "sWord"
            };

            listSubscribeWords = new List <SubscribeWord>()
            {
                subscribeWord,
                new SubscribeWord()
                {
                    Id = 2, Word = "test2"
                }
            };
            message = new RecievedMessage()
            {
                Id = 3, CompanyId = testCompany.Id, PhoneId = phoneRecipient.Id, Message = "test"
            };
            viewMessage = new RecievedMessageViewModel()
            {
                SenderPhone    = "+380999999999",
                RecipientPhone = "+380111111111",
                MessageText    = "sWord"
            };
            recievedMessageInsert = new RecievedMessageDTO()
            {
                SenderPhone    = viewMessage.SenderPhone,
                RecipientPhone = viewMessage.RecipientPhone,
                MessageText    = "test1"
            };
            recievedMessageDto = new RecievedMessageDTO()
            {
                SenderPhone    = viewMessage.SenderPhone,
                RecipientPhone = viewMessage.RecipientPhone,
                MessageText    = viewMessage.MessageText
            };
            stopWord = new StopWord()
            {
                Id = 1, Word = "sWord"
            };
            listStopWords = new List <StopWord>()
            {
                stopWord,
                new StopWord()
                {
                    Id = 2, Word = "START"
                }
            };
        }
Example #6
0
        public bool CreateWithRecipient(ManageViewModel item, List <RecipientViewModel> recipientList)
        {
            try {
                Company company = mapper.Map <ManageViewModel, Company>(item);

                Phone phone = unitOfWork.Phones.Get(filter: e => e.PhoneNumber == item.PhoneNumber).FirstOrDefault();
                if (phone == null)
                {
                    phone             = new Phone();
                    phone.PhoneNumber = item.PhoneNumber;
                    unitOfWork.Phones.Insert(phone);
                    company.Phone = phone;
                }
                else
                {
                    company.PhoneId = phone.Id;
                }
                if (company.TariffId == 0)
                {
                    company.TariffId = null;
                }

                unitOfWork.Companies.Insert(company);
                notificationsGenerator.SupplyWithCampaignNotifications(company);
                unitOfWork.Save();

                SubscribeWord subWord = unitOfWork.SubscribeWords.Get(sw => sw.Word == "start").FirstOrDefault();

                if (subWord != null)
                {
                    unitOfWork.CompanySubscribeWords.Insert(new CompanySubscribeWord()
                    {
                        Company       = company,
                        SubscribeWord = subWord
                    });
                }

                foreach (var recipient in recipientList)
                {
                    Recipient newRecepient = mapper.Map <RecipientViewModel, Recipient>(recipient);
                    newRecepient.CompanyId = company.Id;
                    phone = unitOfWork.Phones.Get(filter: e => e.PhoneNumber == recipient.Phonenumber).FirstOrDefault();
                    if (phone == null)
                    {
                        phone             = new Phone();
                        phone.PhoneNumber = recipient.Phonenumber;
                        unitOfWork.Phones.Insert(phone);
                        newRecepient.Phone = phone;
                    }
                    else
                    {
                        newRecepient.PhoneId = phone.Id;
                    }
                    unitOfWork.Recipients.Insert(newRecepient);
                    unitOfWork.Save();
                }

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }