示例#1
0
        public async Task <RequestModel> Put(int requestId, EditRequestModel model)
        {
            var result = await _service.Put(requestId, model);

            var models = _mapper.Map <RequestModel>(result);

            return(models);
        }
示例#2
0
        public async Task <Request> Put(int requestId, EditRequestModel model)
        {
            var requestModel = GetQuery().Include("RequestDetails").Include("RequestDetails.FormField").FirstOrDefault(x => x.Id == requestId);

            if (requestModel == null)
            {
                throw new NotFoundException();
            }

            var request = _mapper.Map <Request>(requestModel);

            for (int i = 0; i < request.RequestDetails.Count; i++)
            {
                var newValue = model.RequestDetails.Where(a => a.Id == request.RequestDetails[i].Id).FirstOrDefault();

                if (newValue != null && newValue.FormFieldId == 10 && request.RequestDetails[i].Value != newValue.Value)
                {
                    model.RequestDetails[i].Value = UploadImageHelper.SaveImage(model.RequestDetails[i].Value, "Requests");
                }
                else if (newValue != null && newValue.FormFieldId == 8 && request.RequestDetails[i].Value != newValue.Value)
                {
                    model.RequestDetails[i].Value = UploadImageHelper.SavePdf(model.RequestDetails[i].Value, "Requests");
                }
                else
                {
                    request.RequestDetails[i].Value = newValue == null ? "" : newValue.Value;
                }
            }

            var deletedItems = request.RequestDetails.Where(a => !model.RequestDetails.Any(x => a.Id == x.Id)).Select(a => a.Id).ToArray();

            foreach (var item in deletedItems)
            {
                var reqDetail = request.RequestDetails.Where(a => a.Id == item).First();
                request.RequestDetails.Remove(reqDetail);
            }

            var addedItems = model.RequestDetails.Where(a => a.Id == 0);

            foreach (var item in addedItems)
            {
                request.RequestDetails.Add(new RequestDetail
                {
                    RequestId   = requestId,
                    FormFieldId = item.FormFieldId,
                    Value       = item.Value
                });
            }

            await _uow.CommitAsync();

            return(request);
        }
示例#3
0
        public async Task <IActionResult> Edit([FromBody] EditRequestModel model)
        {
            if (model == null)
            {
                return(BadRequest());
            }

            await userService.EditUser(model);

            await SaveAsync();

            return(Ok(model));
        }
示例#4
0
        public ViewResult MoreDetails(int Id)
        {
            string error = "";

            var request = new DtoRequest();

            _requestService.GetRequestById(Id, out request, out error);

            var model = new EditRequestModel();

            model.Request = request;

            return(View(model));
        }
示例#5
0
        public async Task <User> EditUser(EditRequestModel model)
        {
            User user = FindById(model.UserId);

            user.Email       = model.Email;
            user.FirstName   = model.FirstName;
            user.LastName    = model.LastName;
            user.Password    = PasswordHasher.HashPassword(model.Password);
            user.PhoneNumber = model.PhoneNumber;

            await AddAsync(user);

            return(user);
        }
示例#6
0
 public async Task <EditResponse <IUser> > Handle(EditRequestModel <IUser> request, CancellationToken cancellationToken)
 {
     return(await EditItem(request));
 }
示例#7
0
 protected override Expression <Func <TModel, bool> > DefaultItemFilter(EditRequestModel <TDto> request)
 {
     return(item => item.DeletedAt == null);
 }