示例#1
0
        public override IController CreateController(RequestContext requestContext, string controllerName)
        {
            if (controllerName == "Home")
            {
                var fuse8Context = new Fuse8Context();

                var credentials = new NetworkCredential(
                    requestContext.HttpContext.Request.Form.Get("username"),
                    requestContext.HttpContext.Request.Form.Get("password"));

                var smtpClient = new SmtpClient(
                    requestContext.HttpContext.Request.Form.Get("smtp"),
                    ToInt32(requestContext.HttpContext.Request.Form.Get("port")));
                smtpClient.Credentials = credentials;
                smtpClient.EnableSsl   = true;

                var mailSender = new MailSender(smtpClient);

                var orderRepository = new OrderRepository(fuse8Context.Orders.Include("OrderDetails.Product"));

                var reportExporter = new ReportExporter();

                var reportSender = new ReportSender(mailSender);

                return(new HomeController(orderRepository, reportExporter, reportSender));
            }

            return(base.CreateController(requestContext, controllerName));
        }
        public ViewControler()
        {
            restaurantManager = new RestaurantManager();
            dishViewModel     = new DishViewModel(restaurantManager);
            clientViewModel   = new ClientViewModel(restaurantManager);
            restaurantManager.AddSampleData();
            dishesNames                  = new List <string>();
            Menu                         = new ObservableCollection <Dish>();
            Card                         = new ObservableCollection <Dish>();
            Clients                      = new ObservableCollection <Client>();
            ActiveOrders                 = new ObservableCollection <Order>();
            CompletedOrders              = new ObservableCollection <Order>();
            CurrentOrderDisplayDishes    = new ObservableCollection <Dish>();
            ActiveDelivery               = new ObservableCollection <Order>();
            CompletedDeliveries          = new ObservableCollection <Order>();
            CurrentDeliveryDisplayDishes = new ObservableCollection <Dish>();


            reportSender = new ReportSender(restaurantManager, 15000);
            Task.Run(() => reportSender.SendReport());

            reportReceiver = new ReportReceiver(startReportDate, endReportDate, reportIncome);
            reportReceiver.Subscribe(reportSender);

            addDish          = new DelegateCommand(addDishToCard);
            clearCard        = new DelegateCommand(Clear);
            addClient        = new DelegateCommand(AddClient);
            createOrder      = new DelegateCommand(CreateOrder);
            completeOrder    = new DelegateCommand(CompleteOrder);
            completeDelivery = new DelegateCommand(CompleteDelivery);


            RefreshView();
        }
        public API(RestaurantManager restaurantManager)
        {
            socketConnections      = new List <SocketConnectionController>();
            this.restaurantManager = restaurantManager;
            this.reportSender      = new ReportSender(restaurantManager, 30000);
            Task.Run(() => reportSender.SendReport());

            this.advertSender = new AdvertSender(restaurantManager, 10000);
            Task.Run(() => advertSender.SendReport());
        }
        public void SendTest()
        {
            var mailSender = Mock.Of <IMailSender>();
            var stream     = new MemoryStream();
            var sut        = new ReportSender(mailSender);

            sut.Send(stream, "*****@*****.**", "*****@*****.**");

            Mock.Get(mailSender).Verify(ms => ms.Send(It.Is <MailMessage>(mm => mm.From.Address == "*****@*****.**")));
            Mock.Get(mailSender).Verify(ms => ms.Send(It.Is <MailMessage>(mm => mm.To.Any(ma => ma.Address == "*****@*****.**"))));
            Mock.Get(mailSender).Verify(ms => ms.Send(It.Is <MailMessage>(mm => mm.Attachments.Any(a => a.ContentStream == stream))));
        }
示例#5
0
        public async Task <ActionResult <IEnumerable <Kisiler> > > GetReportByLocation(string location, string active)
        {
            var contactDetail = await _repository.GetReportByLocation(location);

            if (contactDetail == null)
            {
                _logger.LogError($".... with id: {location}, not found.");
                return(NotFound());
            }

            ReportSender rp = new ReportSender();

            rp.Sender();

            return(Ok(contactDetail));
        }
示例#6
0
        public async Task <ActionResult> SaveReport(FormCollection formCollection)
        {
            var pages = new List <Page>();

            int pageId, questionId;
            int?questionType, lineId, answerId;  // for complicated question

            string employeeId = null;

            foreach (var key in formCollection.AllKeys)
            {
                if (key == "EmployeeId")
                {
                    employeeId = formCollection[key];
                    continue;
                }

                _testService.ParseAnswerName(key, out pageId, out questionId, out questionType, out lineId, out answerId);

                var page = pages.FirstOrDefault(p => p.Id == pageId);
                if (page == null)
                {
                    var dbPage = await _testService.GetPageById(pageId);

                    page = new Page
                    {
                        Id        = dbPage.Id,
                        Name      = dbPage.Name,
                        Order     = dbPage.Order,
                        Questions = new List <Question>()
                    };
                }
                else
                {
                    var oldPage = page;
                    pages.Remove(oldPage);
                }

                var question = page.Questions.FirstOrDefault(q => q.Id == questionId);
                if (question == null)
                {
                    var dbQuestion = await _testService.GetQuestion(questionId);

                    question = new Question
                    {
                        Id           = dbQuestion.Id,
                        QuestionName = dbQuestion.QuestionName,
                        TypeAnswer   = dbQuestion.TypeAnswer,
                        PageId       = dbQuestion.PageId,
                        Answers      = new List <Answer>()
                    };
                }
                else
                {
                    var oldQuestion = question;
                    page.Questions.Remove(oldQuestion);
                }

                foreach (var value in formCollection.GetValues(key))
                {
                    var answer = new Answer
                    {
                        Name       = value,
                        QuestionId = question.Id
                    };
                    question.Answers.Add(answer);
                }

                page.Questions.Add(question);
                pages.Add(page);
            }

            Guid     emplId;
            Employee employee;

            if (!Guid.TryParse(employeeId, out emplId) || (employee = await adminManager.GetEmployee(emplId)) == null)
            {
                return(View("ReportResult", false));
            }

            var sender = new ReportSender(mailingService, adminManager, employee, pages);

            var result = await sender.SendMailsToRecieversAsync();

            if (result.Succeeded)
            {
                await _reportManager.AddReport(emplId);
            }

            return(View("ReportResult", new ReportPassedViewModel
            {
                Passed = result.Succeeded,
                EmployeeId = emplId.ToString()
            }));
        }