Esempio n. 1
0
        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}." }));
        }
Esempio n. 2
0
        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)));
        }
Esempio n. 3
0
        public async Task <IActionResult> CreateModalAsync()
        {
            CreateEquipmentViewModel _Model = new CreateEquipmentViewModel();

            return(PartialView("_CreateEquipment", _Model));
        }