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)); } }
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)); } }
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())); }