protected override async Task Handle(Command command) { SalePipeline sale = _dbContext.SalesPipelines.FirstOrDefault(s => s.Id == command.SaleId); sale.Stage = command.Stage; _dbContext.SalesPipelines.Update(sale); await _dbContext.SaveChangesAsync(); }
protected override async Task <CommandResult> Handle(Query getAppointments) { SalePipeline sale = await _context.SalesPipelines.FindAsync(getAppointments.SaleId); if (sale == null) { return(CommandResult.Fail($"Sale not found with Id: {getAppointments.SaleId}")); } return(CommandResult.Success); }
protected override async Task Handle(Command request) { SalePipeline sale = await _context.SalesPipelines.FindAsync(request.SaleId); var folderData = new File { Name = sale.Code, MimeType = File.FolderMimeType }; var folder = await _driveApi.Create(folderData, request.AccessToken); sale.FolderId = folder.Id; _context.Update(sale); await _context.SaveChangesAsync(); }
protected override async Task Handle(Command request) { SalePipeline sale = await _context.SalesPipelines.FindAsync(request.SaleId); var calendar = new Calendar { Summary = $"Sale: {sale.Code}", Description = $"Sale to: {sale.Customer.Id}", TimeZone = "America/Sao_Paulo" }; Calendar newCalendar = await _calendarApi.CreateCalendar(calendar, request.AccessToken); sale.CalendarId = newCalendar.Id; _context.Update(sale); await _context.SaveChangesAsync(); }
protected async override Task <CommandResult> Handle(Command deleteSale) { SalePipeline sale = await _dbContext.SalesPipelines.FindAsync(deleteSale.SaleId.Value); if (sale == null) { return(CommandResult.Fail($"Sale not found with Id: {deleteSale.SaleId}")); } _dbContext.Remove(sale); await _mediator.Publish(new Deleted() { Sale = sale, AccessToken = deleteSale.AccessToken }); await _dbContext.SaveChangesAsync(); return(CommandResult.Success); }
protected async override Task <CommandResult <Guid> > Handle(Command createSale) { // Busca o Cliente pelo Id Customer customer = await _dbContext.Customers.FindAsync(createSale.CustomerId); // Verifica se o Cliente existe if (customer == null) { return(CommandResult <Guid> .Fail($"Customer not found with Id: {createSale.CustomerId}")); } // Verifica se ja existe alguma venda para o Cliente BUscado bool alreadyExists = _dbContext.SalesPipelines.Any(sale => sale.Customer.Id == customer.Id); if (alreadyExists) { return(CommandResult <Guid> .Fail($"A Sale already exists for this customer")); } var salePipeline = new SalePipeline(customer); var hashIds = new Hashids(salePipeline.Id.ToString(), 4); var hashCode = salePipeline.Id.GetHashCode(); salePipeline.Code = hashIds.Encode(hashCode < 0 ? (hashCode * (-1)) : hashCode); await _dbContext.AddAsync(salePipeline); await _dbContext.SaveChangesAsync(); await _mediator.Publish(new Created() { SaleId = salePipeline.Id, AccessToken = createSale.AccessToken }); return(CommandResult <Guid> .Success(salePipeline.Id)); }