Exemplo n.º 1
0
        public async Task <ResponseService> Handle(CreateServiceCommand command, CancellationToken cancellationToken)
        {
            try
            {
                cancellationToken.ThrowIfCancellationRequested();

                var service = new Domain.Entities.Service
                {
                    Duration     = command.Duration,
                    Name         = command.Name,
                    Value        = command.Value,
                    BarberShopId = command.BarberShopId
                };

                using (TransactionScope transaction = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
                {
                    int?result = await _respositoryService.CreateAsync(service);

                    if (result > 0)
                    {
                        return(new ResponseService(result));
                    }
                    else
                    {
                        return(new ResponseService(messageError: $"Error inserting BarberShop: {service.Name}"));
                    }
                }
            }
            catch (Exception ex)
            {
                return(new ResponseService(messageError: ex.Message));
            }
        }
Exemplo n.º 2
0
        public async Task <ResponseService> Handle(RemoveServiceCommand command, CancellationToken cancellationToken)
        {
            try
            {
                cancellationToken.ThrowIfCancellationRequested();

                var service = new Domain.Entities.Service(command.Id);

                using (TransactionScope transaction = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
                {
                    bool result = await _respositoryService.DeleteAsync(service);

                    if (result)
                    {
                        return(new ResponseService(result));
                    }
                    else
                    {
                        return(new ResponseService(messageError: $"Error deleting BarberShop: {service.Name}"));
                    }
                }
            }
            catch (Exception ex)
            {
                return(new ResponseService(messageError: ex.Message));
            }
        }
Exemplo n.º 3
0
        public IActionResult Edit(Domain.Entities.Service service, IFormFile Image)
        {
            if (ModelState.IsValid)
            {
                //получаем все элементы и проверяем есть ли элемент с таким же url
                //var ser = dataManager.Services.GetServices().Where(x => x.Id != service.Id).Where(x => x.Url == service.Url).Select();
                IQueryable <Domain.Entities.Service> services = dataManager.Services.GetServices();
                foreach (var item in services)
                {
                    if (item.Id != service.Id && item.Url == service.Url)
                    {
                        ModelState.AddModelError(nameof(Domain.Entities.Service.Url), "Запись с таким URL уже есть");
                        return(View(service));
                    }
                }
                //проверяем картинку
                if (Image.IsImage())
                {
                    //записываем в объект путь к картинке
                    service.Image = Image.FileName;

                    //сохраняем картинку
                    using (var img = System.Drawing.Image.FromStream(Image.OpenReadStream(), true, true))
                    {
                        //создаём измененную картинку с шириной 815 пикселя
                        var i = new Bitmap(img.ScaleAndCrop(815, 300, TargetSpot.BottomMiddle));
                        //создаём квадратную картинку для превью услуг
                        var square = new Bitmap(img.ScaleAndCrop(525, 350, TargetSpot.MiddleLeft));
                        //создаём квадратную картинку для превью в админке
                        var mini = new Bitmap(img.ScaleAndCrop(64, 48, TargetSpot.Center));
                        //сохраняем картинки
                        i.SaveAs(Path.Combine(hostEnvironment.WebRootPath, "images/services/", Image.FileName));
                        square.SaveAs(Path.Combine(hostEnvironment.WebRootPath, "images/services/", "square-" + Image.FileName));
                        mini.SaveAs(Path.Combine(hostEnvironment.WebRootPath, "images/services/", "mini-" + Image.FileName));
                    }
                }
                service.Category = dataManager.Categories.GetCategoryById(service.Category.Id);
                dataManager.Services.SaveService(service);
            }
            return(RedirectToAction(nameof(HomeController.Index), nameof(HomeController).CutController()));
        }