public void FinishOrder(ChangeStatusBindingModel model)
        {
            var order = _orderStorage.GetElement(new OrderBindingModel
            {
                Id =
                    model.OrderId
            });

            if (order == null)
            {
                throw new Exception("Не найден заказ");
            }
            if (order.Status != OrderStatus.Выполняется)
            {
                throw new Exception("Заказ не в статусе \"Выполняется\"");
            }
            _orderStorage.Update(new OrderBindingModel
            {
                Id            = order.Id,
                ProductId     = order.ProductId,
                Count         = order.Count,
                Sum           = order.Sum,
                DateCreate    = order.DateCreate,
                DateImplement = DateTime.Now,
                Status        = OrderStatus.Готов
            });
        }
        public void PayOrder(ChangeStatusBindingModel model)
        {
            // продумать логику
            var order = _orderStorage.GetElement(new OrderBindingModel
            {
                Id =
                    model.OrderId
            });

            if (order == null)
            {
                throw new Exception("Не найден заказ");
            }
            if (order.Status != OrderStatus.Готов)
            {
                throw new Exception("Заказ не в статусе \"Готов\"");
            }
            _orderStorage.Update(new OrderBindingModel
            {
                Id            = order.Id,
                ProductId     = order.ProductId,
                Count         = order.Count,
                Sum           = order.Sum,
                DateCreate    = order.DateCreate,
                DateImplement = order.DateImplement,
                Status        = OrderStatus.Оплачен
            });
        }
        public void FinishOrder(ChangeStatusBindingModel model)
        {
            var order = orderLogic.Read(new OrderBindingModel {
                Id = model.OrderId
            })?[0];

            if (order == null)
            {
                throw new Exception("Не найден заказ");
            }
            if (order.Status != OrderStatus.Выполняется)
            {
                throw new Exception("Заказ не в статусе \"Выполняется\"");
            }
            orderLogic.CreateOrUpdate(new OrderBindingModel
            {
                Id            = order.Id,
                ClientId      = order.ClientId,
                KomlectId     = order.KomlectId,
                ImplementerId = order.ImplementerId,
                Count         = order.Count,
                Sum           = order.Sum,
                DateCreate    = order.DateCreate,
                DateImplement = order.DateImplement,
                Status        = OrderStatus.Готов
            });
            MailLogic.MailSendAsync(new MailSendInfo
            {
                MailAddress = clientLogic.Read(new ClientBindingModel {
                    Id = order.ClientId
                })?[0]?.Email,
                Subject = $"Заказ №{order.Id}",
                Text    = $"Заказ №{order.Id} готов."
            });
        }
        public void TakeOrderInWork(ChangeStatusBindingModel model)
        {
            var order = _orderStorage.GetElement(new OrderBindingModel
            {
                Id =
                    model.OrderId
            });

            if (order == null)
            {
                throw new Exception("Не найден заказ");
            }
            if (order.Status != OrderStatus.Принят)
            {
                throw new Exception("Заказ не в статусе \"Принят\"");
            }
            _orderStorage.Update(new OrderBindingModel
            {
                Id         = order.Id,
                ProductId  = order.ProductId,
                Count      = order.Count,
                Sum        = order.Sum,
                DateCreate = order.DateCreate,
                Status     = OrderStatus.Выполняется
            });
        }
Exemple #5
0
        public void PayOrder(ChangeStatusBindingModel model)
        {
            var order = orderLogic.Read(new OrderBindingModel
            {
                Id = model.OrderId
            })?[0];

            exceptionHandling.СheckingOrder(order);

            if (order.Status != OrderStatus.Готов)
            {
                throw new Exception("Заказ не в статусе \"Готов\"");
            }
            orderLogic.CreateOrUpdate(new OrderBindingModel
            {
                Id            = order.Id,
                BouquetId     = order.BouquetId,
                ClientId      = order.ClientId,
                Count         = order.Count,
                Delivery      = order.Delivery,
                Sum           = order.Sum,
                DateCreate    = order.DateCreate,
                DateImplement = order.DateImplement,
                Status        = OrderStatus.Оплачен
            });
        }
        public void TakeOrderInWork(ChangeStatusBindingModel model)
        {
            var order = orderLogic.Read(new OrderBindingModel {
                Id = model.OrderId
            })?[0];

            if (order == null)
            {
                throw new Exception("Не найден заказ");
            }
            if (order.Status == OrderStatus.Ожидает_поставки_деталей)
            {
                order.Status = OrderStatus.Принят;
            }
            if (order.Status != OrderStatus.Принят)
            {
                throw new Exception("Заказ не в статусе \"Принят\"");
            }

            orderLogic.CreateOrUpdate(new OrderBindingModel
            {
                Id         = order.Id,
                ClientId   = order.ClientId,
                Price      = order.Price,
                DateCreate = order.DateCreate,
                Status     = OrderStatus.Выполняется
            });
        }
Exemple #7
0
        public void TakeOrderInWork(ChangeStatusBindingModel model)
        {
            var order = orderLogic.Read(new OrderBindingModel
            {
                Id = model.OrderId
            })?[0];

            exceptionHandling.СheckingOrder(order);

            if (order.Status != OrderStatus.Принят)
            {
                throw new Exception("Заказ не в статусе \"Принят\"");
            }
            orderLogic.CreateOrUpdate(new OrderBindingModel
            {
                Id            = order.Id,
                BouquetId     = order.BouquetId,
                ClientId      = order.ClientId,
                Count         = order.Count,
                Sum           = order.Sum,
                Delivery      = order.Delivery,
                DateCreate    = order.DateCreate,
                DateImplement = DateTime.Now,
                Status        = OrderStatus.Выполняется
            });
        }
        public void PayRequest(ChangeStatusBindingModel model)
        {
            {
                var request = _requestStorage.GetElement(new RequestBindingModel
                {
                    Id = model.RequestId
                });

                if (request == null)
                {
                    throw new Exception("Заявка не найдена");
                }

                if (request.Status != RequestStatus.Готов)
                {
                    throw new Exception("Заявка не в статусе \"Готова\"");
                }

                _requestStorage.Update(new RequestBindingModel
                {
                    Id      = request.Id,
                    WorkId  = request.WorkId,
                    Sum     = request.Sum,
                    DatePay = request.DateCreate,
                    Status  = RequestStatus.Оплачен
                });
            }
        }
        public void TakeRequestInWork(ChangeStatusBindingModel model)
        {
            var request = _requestStorage.GetElement(new RequestBindingModel
            {
                Id =
                    model.RequestId
            });

            if (request == null)
            {
                throw new Exception("Заявка не найдена");
            }
            if (request.Status != RequestStatus.Принят)
            {
                throw new Exception("Заявка не в статусе \"Принята\"");
            }
            _requestStorage.Update(new RequestBindingModel
            {
                Id      = request.Id,
                WorkId  = request.WorkId,
                Sum     = request.Sum,
                DatePay = request.DateCreate,
                Status  = RequestStatus.Выполняется
            });
        }
Exemple #10
0
        private void SendEmail(ChangeStatusBindingModel data)
        {
            try
            {
                var    fromAddress  = new MailAddress("*****@*****.**", "WEB2 APP");
                var    toAddress    = new MailAddress("*****@*****.**");
                string fromPassword = "******";
                string subject      = "WEB2 - User verification";
                string body         = $"User {data.Email} status: {data.Status}";

                var smtp = new SmtpClient
                {
                    Host                  = "smtp.gmail.com",
                    Port                  = 587,
                    EnableSsl             = true,
                    DeliveryMethod        = SmtpDeliveryMethod.Network,
                    UseDefaultCredentials = false,
                    Credentials           = new NetworkCredential(fromAddress.Address, fromPassword),
                    Timeout               = 5000
                };
                using (var message = new MailMessage(fromAddress, toAddress)
                {
                    Subject = subject,
                    Body = body
                })
                {
                    smtp.Send(message);
                }
            }
            catch (Exception ex)
            {
                Trace.WriteLine("Exception in sendMail:" + ex.ToString());
            }
        }
Exemple #11
0
        public async Task <IHttpActionResult> ChangeStatus(ChangeStatusBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var user = UserManager.FindByEmail(model.Email);

            if (user == null)
            {
                return(NotFound());
            }
            user.Status = model.Status;

            IdentityResult result = await UserManager.UpdateAsync(user);

            if (!result.Succeeded)
            {
                return(GetErrorResult(result));
            }

            SendEmail(model);

            return(Ok());
        }
        public void TakeOrderInWork(ChangeStatusBindingModel model)
        {
            lock (locker)
            {
                var order = orderLogic.Read(new OrderBindingModel {
                    Id = model.OrderId
                })?[0];

                if (order == null)
                {
                    throw new Exception("Не найден заказ");
                }
                if (order.Status != OrderStatus.Принят)
                {
                    throw new Exception("Заказ не в статусе \"Принят\"");
                }
                if (order.ImplementerId.HasValue)
                {
                    throw new Exception("У заказа уже есть исполнитель");
                }
                orderLogic.CreateOrUpdate(new OrderBindingModel
                {
                    Id            = order.Id,
                    ClientId      = order.ClientId,
                    KomlectId     = order.KomlectId,
                    ImplementerId = model.ImplementerId,
                    Count         = order.Count,
                    Sum           = order.Sum,
                    DateCreate    = order.DateCreate,
                    DateImplement = DateTime.Now,
                    Status        = OrderStatus.Выполняется
                });
                MailLogic.MailSendAsync(new MailSendInfo
                {
                    MailAddress = clientLogic.Read(new ClientBindingModel {
                        Id = order.ClientId
                    })?[0]?.Email,
                    Subject = $"Заказ №{order.Id}",
                    Text    = $"Заказ №{order.Id} передан в работу."
                });
            }
        }
Exemple #13
0
        public void FinishOrder(ChangeStatusBindingModel model)
        {
            var order = orderLogic.Read(new OrderBindingModel {
                Id = model.OrderId
            })?[0];

            if (order == null)
            {
                throw new Exception("Не найден заказ");
            }
            if (order.Status != OrderStatus.Выполняется)
            {
                throw new Exception("Заказ не в статусе \"Выполняется\"");
            }
            orderLogic.CreateOrUpdate(new OrderBindingModel
            {
                Id         = order.Id,
                ClientId   = order.ClientId,
                Price      = order.Price,
                DateCreate = order.DateCreate,
                Status     = OrderStatus.Готов
            });
        }
Exemple #14
0
        public void PayOrder(ChangeStatusBindingModel model)
        {
            var order = orderLogic.Read(new OrderBindingModel {
                Id = model.OrderId
            })?[0];

            if (order == null)
            {
                throw new Exception("Не найден заказ");
            }
            if (order.Status != OrderStatus.Готов)
            {
                throw new Exception("Заказ не в статусе \"Готов\"");
            }
            orderLogic.CreateOrUpdate(new OrderBindingModel
            {
                Id            = order.Id,
                ClientId      = order.ClientId,
                Price         = order.Price,
                DateCreate    = order.DateCreate,
                DateImplement = DateTime.Now,
                Status        = OrderStatus.Оплачен
            });
        }
        public void FinishRequest(ChangeStatusBindingModel model)
        {
            var request = _requestStorage.GetElement(new RequestBindingModel
            {
                Id = model.RequestId
            });

            if (request == null)
            {
                throw new Exception("Не найдена заявка");
            }
            if (request.Status != RequestStatus.Выполняется)
            {
                throw new Exception("Заявка не в статусе \"Выполняется\"");
            }
            _requestStorage.Update(new RequestBindingModel
            {
                Id      = request.Id,
                WorkId  = request.WorkId,
                Sum     = request.Sum,
                DatePay = request.DateCreate,
                Status  = RequestStatus.Готов
            });
        }