Example #1
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
 public async Task SaveChangesAsync()
 {
     await _context.SaveChangesAsync();
 }