Beispiel #1
0
        public async Task <IActionResult> CreateLitigationAsync(CreateLitigationViewModel model)
        {
            try
            {
                LitigationDto litigation = new LitigationDto
                {
                    DateAndTime       = model.DateAndTime,
                    LocationId        = model.LocationId,
                    Judge             = model.Judge,
                    InstitutionType   = model.InstitutionType,
                    ProcessIdentifier = model.ProcessIdentifier,
                    CourtroomNumber   = model.CourtroomNumber,
                    Prosecutor        = model.Prosecutor,
                    Defendant         = model.Defendant,
                    Note        = model.Note,
                    ProcessType = model.ProcessType
                };

                await litigationService.CreateAsync(litigation, model.UsersIds);

                return(RedirectToAction("LitigationsListForUser", "Litigation"));
            }
            catch (Exception ex)
            {
                ErrorViewModel errorModel = new ErrorViewModel();
                errorModel.ErrorMessage = ex.Message.ToString();

                return(View("Views/Shared/Error.cshtml", errorModel));
            }
        }
Beispiel #2
0
        public async Task <int> CreateAsync(LitigationDto litigationDto, List <string> usersIds)
        {
            var litigation = mapper.Map <Litigation>(litigationDto);

            await dbContext.Litigation.AddAsync(litigation);

            await dbContext.SaveChangesAsync();

            var litigationUsers = usersIds
                                  .Select(p => new LitigationUser
            {
                LitigationId = litigation.Id,
                UserId       = p
            });

            await dbContext.LitigationUser.AddRangeAsync(litigationUsers);

            await dbContext.SaveChangesAsync();

            return(litigation.Id);
        }
Beispiel #3
0
        public async Task <bool> UpdateAsync(LitigationDto litigationDto)
        {
            var litigation = await dbContext
                             .Litigation
                             .FirstOrDefaultAsync(l => l.Id == litigationDto.Id);

            litigation.DateAndTime       = litigationDto.DateAndTime;
            litigation.LocationId        = litigationDto.LocationId;
            litigation.Judge             = litigationDto.Judge;
            litigation.InstitutionType   = litigationDto.InstitutionType;
            litigation.ProcessIdentifier = litigationDto.ProcessIdentifier;
            litigation.CourtroomNumber   = litigationDto.CourtroomNumber;
            litigation.Prosecutor        = litigationDto.Prosecutor;
            litigation.Defendant         = litigationDto.Defendant;
            litigation.Note        = litigationDto.Note;
            litigation.ProcessType = litigationDto.ProcessType;

            dbContext.Litigation.Update(litigation);
            await dbContext.SaveChangesAsync();

            return(true);
        }
        public async Task <bool> UpdateAsync(LitigationDto litigationDto, IEnumerable <string> usersIds)
        {
            using (var transaction = await litigationPlannerUnitOfWork.BeginTransactionAsync())
            {
                try
                {
                    await litigationPlannerUnitOfWork.LitigationRepository.UpdateAsync(litigationDto);

                    if (usersIds != null)
                    {
                        await litigationPlannerUnitOfWork.LitigationRepository.AddUsersInLitigationAsync(litigationDto.Id, usersIds);
                    }

                    transaction.Commit();

                    return(true);
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    return(false);
                }
            }
        }
        public async Task <int> CreateAsync(LitigationDto litigationDto, List <string> usersIds)
        {
            var litigationId = await litigationPlannerUnitOfWork.LitigationRepository.CreateAsync(litigationDto, usersIds);

            return(litigationId);
        }