public async Task <ClientCreateResult> Create(ClientCreateParameters parameters) { var validation = await _clientValidation.ValidateCreateDuplicate(parameters); if (validation != UserValidationStatus.Success) { return(null); } else { var result = await _dbContext.Clients.AddAsync(new Client() { Name = parameters.Name, MobileNumber = parameters.MobileNumber, AreaCode = parameters.AreaCode, Email = parameters.Email, Password = parameters.Password, Status = UserStatus.Inactive, }); await _dbContext.SaveChangesAsync(); var client = result.Entity; return(new ClientCreateResult() { Id = client.Id, Name = client.Name, MobileNumber = client.MobileNumber, AreaCode = client.AreaCode, Email = client.Email, }); } }
public async Task <StorageViewResult> Create(StorageCreateParameters parameters) { var ticket = await _dbContext.Tickets.FirstOrDefaultAsync(t => t.Id == parameters.TicketId); var result = await _dbContext.StorageFiles.AddAsync(new StorageFile { Extension = parameters.Extension, Name = parameters.Name, Ticket = ticket }); await _dbContext.SaveChangesAsync(); return(new StorageViewResult { Id = result.Entity.Id, Extension = result.Entity.Extension, Name = result.Entity.Name, }); }
public async Task <ProductCreateResult> Create(ProductCreateParameters parameters) { if (!await _productValidation.CreateValidation(parameters)) { return(null); } var product = await _dbContext.Products.AddAsync(new Product { Name = parameters.Name, TicketPriority = parameters.TicketPriority }); await _dbContext.SaveChangesAsync(); return(new ProductCreateResult() { Name = product.Entity.Name, Id = product.Entity.Id, TicketPriority = product.Entity.TicketPriority }); }
public async Task <StaffMemberCreateResult> Create(StaffMemberCreateParameters parameters) { var validation = await _staffValidation.ValidateCreateDuplicate(parameters); if (validation != UserValidationStatus.Success) { return(null); } else { var result = await _dbContext.Staff.AddAsync(new StaffMember() { Name = parameters.Name, MobileNumber = parameters.MobileNumber, AreaCode = parameters.AreaCode, Email = parameters.Email, BirthDate = parameters.BirthDate.Date, Address = parameters.Address, Role = StaffMemberRole.Employee, Status = UserStatus.Inactive }); await _dbContext.SaveChangesAsync(); var staff = result.Entity; return(new StaffMemberCreateResult() { Id = staff.Id, Name = parameters.Name, MobileNumber = parameters.MobileNumber, AreaCode = parameters.AreaCode, Email = parameters.Email, Address = parameters.Address, Role = staff.Role, }); } }
public async Task <TicketCreateResult> Create(TicketCreateParameters parameters) { var product = await _dbContext.Products.FirstOrDefaultAsync(p => p.Id == parameters.ProductId); var client = await _dbContext.Clients.FirstOrDefaultAsync(c => c.Id == parameters.ClientId); if (product == null || client == null) { return(null); } var result = await _dbContext.Tickets.AddAsync(new Ticket() { Subject = parameters.Subject, Summary = parameters.Summary, Status = TicketStatus.Open, Priority = product.TicketPriority, CreateDateTime = DateTime.Now, Product = product, Client = client, }); await _dbContext.SaveChangesAsync(); return(new TicketCreateResult() { Id = result.Entity.Id, Subject = result.Entity.Subject, Summary = result.Entity.Summary, Status = result.Entity.Status, ProductName = product.Name, ClientName = client.Name, Priority = result.Entity.Priority, CreateDateTime = result.Entity.CreateDateTime, }); }
public async Task <ReplyCreateResult> Create(ReplyCreateParameters parameters) { var ticket = await _dbContext.Tickets.FirstOrDefaultAsync(p => p.Id == parameters.TicketId); var client = await _dbContext.Clients.FirstOrDefaultAsync(c => c.Id == parameters.ClientId); var staff = await _dbContext.Staff.FirstOrDefaultAsync(e => e.Id == parameters.StaffId); if (ticket == null || client == null) { return(null); } var result = await _dbContext.Replies.AddAsync(new Reply() { CreateDateTime = DateTime.Now, Content = parameters.Content, Client = client, Employee = staff, Ticket = ticket, SenderType = parameters.SenderType }); await _dbContext.SaveChangesAsync(); var reply = result.Entity; return(new ReplyCreateResult() { Id = reply.Id, CreateDateTime = DateTime.Now.Date, Content = parameters.Content, ClientName = client.Name, StaffMemberName = staff?.Name, StaffMemberEmail = staff?.Email, TicketId = ticket.Id, }); }
public virtual async Task <bool> CommitAsync(CancellationToken ct = new CancellationToken()) { var rows = await _context.SaveChangesAsync(ct); return(rows > 0); }