public async Task Insert(MTask entity) { entity.CreatedDate = DateTime.Now; if (entity.Author != null) { ApplicationUser author = await _context.Users.FirstOrDefaultAsync(u => u.Id.Equals(entity.Author.Id)); entity.Author = author; } if (entity.Company != null) { Company company = await _context.Companies.FirstOrDefaultAsync(c => c.CompanyId == entity.Company.CompanyId); entity.Company = company; } if (entity.TaskTags != null) { for (int i = 0; i < entity.TaskTags.Count; i++) { var tag = await _context.Tags.FirstOrDefaultAsync(t => t.Name.ToLower().Equals(entity.TaskTags[i].Tag.Name.ToLower())); entity.TaskTags[i].Tag = tag is null ? entity.TaskTags[i].Tag : tag; entity.TaskTags[i].TaskId = entity.TaskId; } } await _context.Tasks.AddAsync(entity); await _context.SaveChangesAsync(); if (entity.ResponsiblesForExecution != null) { for (int i = 0; i < entity.ResponsiblesForExecution.Count; i++) { entity.ResponsiblesForExecution[i].TaskId = entity.TaskId; } } if (entity.CoExecutors != null) { for (int i = 0; i < entity.CoExecutors.Count; i++) { entity.CoExecutors[i].TaskId = entity.TaskId; } } if (entity.Observers != null) { for (int i = 0; i < entity.Observers.Count; i++) { entity.Observers[i].TaskId = entity.TaskId; } } }
public async Task <string> CreateRegistrationRequest(ApplicationUser employee, string senderId) { try { var user = await _context.Users.FirstOrDefaultAsync(u => u.Id.Equals(senderId)); var company = await _context.Companies .Include(c => c.Owner) .FirstOrDefaultAsync(c => c.Owner.Id.Equals(user.Id)); if (user is null) { throw new Exception("User not found!!!"); } if (company is null) { throw new Exception("Company not found!!!"); } RegistrationRequest newRequest = new RegistrationRequest { Email = employee.Email, FirstName = employee.FirstName, LastName = employee.LastName, Patronymic = employee.Patronymic, Position = employee.Position.Name, Department = employee.Department.Name, Code = $"{Guid.NewGuid()}{Guid.NewGuid()}{Guid.NewGuid()}", CompanyId = company.CompanyId }; await _context.RegistrationRequests.AddAsync(newRequest); await _context.SaveChangesAsync(); return(newRequest.Code); } catch (Exception ex) { Debug.WriteLine(ex.Message); } return(null); }
public async Task Insert(Chat entity) { var company = await _context.Companies.FirstOrDefaultAsync(x => x.CompanyId == entity.Company.CompanyId); var user = await _context.Users.FirstOrDefaultAsync(x => x.Id.Equals(entity.Owner.Id)); entity.Company = company; entity.Owner = user; await _context.Chats.AddAsync(entity); await _context.SaveChangesAsync(); var newParticipant = new ChatParticipant { User = user, Chat = entity }; await _context.ChatParticipants.AddAsync(newParticipant); }
public async Task SaveChangesAsync() { await _context.SaveChangesAsync(); }