public async Task <IActionResult> CreateAsync(CreateEquipmentViewModel model) { if (!ModelState.IsValid) { ViewData["ErrorMessage"] = "Invalid form submission"; return(View("Create", model)); } BaseResponse _Response = new BaseResponse(); model.OwnerUID = User.FindFirstValue(ClaimTypes.NameIdentifier); if (model.PurchasePrice != 0 && model.ReplacementPrice == 0) { model.ReplacementPrice = model.PurchasePrice; } if (model.Quantity <= 1) { EquipmentResponse _EquipmentResponse = await __EquipmentManager.CreateAsync(__Mapper.Map <CreateEquipmentRequest>(model)); if (_EquipmentResponse.Success) { await __EmailScheduleManager.CreateEquipmentWarrantyScheduleAsync(_EquipmentResponse, $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}"); if (model.MediaFiles != null && model.MediaFiles.Count > 0) { foreach (IFormFile file in model.MediaFiles) { await UploadEquipmentMediaAsync(file, _EquipmentResponse.UID); } } } } else { IList <EquipmentResponse> _EquipmentResponses = await __EquipmentManager.BulkCreateAsync(__Mapper.Map <CreateEquipmentRequest>(model)); if (_EquipmentResponses == null || _EquipmentResponses?.Count <= 0) { return(Json(new { error = $"{GlobalConstants.ERROR_ACTION_PREFIX} create {ENTITY_NAME}." })); } await __EmailScheduleManager.BulkCreateEquipmentWarrantyScheduleAsync(_EquipmentResponses, $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}"); if (model.MediaFiles != null && model.MediaFiles.Count > 0) { foreach (IFormFile file in model.MediaFiles) { foreach (EquipmentResponse createdEquipment in _EquipmentResponses) { await UploadEquipmentMediaAsync(file, createdEquipment.UID); } } } } return(RedirectToAction("Index", "Equipment", new { Area = "Equipment", successMessage = $"{GlobalConstants.SUCCESS_ACTION_PREFIX} created {ENTITY_NAME}." })); }
public object CreateEquipment(CreateEquipmentViewModel createEquipmentViewModel) { if (!ModelState.IsValid) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new BaseResponse(ResponseStatus.ValidationError.ToString(), ModelState.Values.ToList()[0].Errors[0].ErrorMessage))); } CurrentUserInfo currentUserInfo = _tokenHelper.GetUserInfo(); EquipmentData equipmentData = CreateEquipmentViewModel.GetEquipmentData(currentUserInfo.Id, createEquipmentViewModel); _equipmentLogic.Add(equipmentData); return(Request.CreateResponse(HttpStatusCode.OK, new BaseResponse(ResponseStatus.Success.ToString(), ResponseMessagesModel.Success))); }
public async Task <IActionResult> CreateModalAsync() { CreateEquipmentViewModel _Model = new CreateEquipmentViewModel(); return(PartialView("_CreateEquipment", _Model)); }