public IActionResult Create(Defect defect)
 {
     if (defectsRepository.Exists(defect))
     {
         ModelState.AddModelError(string.Empty, "Defect already exists");
     }
     if (ModelState.IsValid)
     {
         foreach (Photo photo in defect.Photos)
         {
             photo.Path = SaveFile(photo.PhotoFile);
         }
         defectsRepository.Create(defect);
         return(RedirectToAction("Index"));
     }
     return(View(defect));
 }
Example #2
0
        public async Task <IActionResult> Create([FromBody] DefectCreateDTO defectCreateDTO)
        {
            var location = GetControllerActionNames();

            try
            {
                this.logger.LogInfo($"{location}: Pack creation  Attempted");
                if (defectCreateDTO == null)
                {
                    this.logger.LogWarn($"{location}: Empty request was submitted");
                    return(BadRequest(ModelState));
                }
                if (!ModelState.IsValid)
                {
                    this.logger.LogWarn($"{location}: Pack Data was Incomplete");
                    return(BadRequest(ModelState));
                }
                // defectCreateDTO.DateCreated = DateTime.Now;//.ToString();
                var defect = this.mapper.Map <Defect>(defectCreateDTO);


                //foreach( var meas in measurementListCreateDTO)
                //{
                //    var measurement = this.mapper.Map<Measurement>(meas);
                //    var measrementtocreate = await measurementRepository.Create(measurement);
                //}

                var isGood = await defectRepository.Create(defect);

                if (!isGood)
                {
                    return(InternalError($"{location}: defect creation failed"));
                }

                this.logger.LogInfo($"{location}: Pack creation was created");
                this.logger.LogInfo($"{location}: {defect}");
                return(Created("Create", new { defect }));
                //return (IActionResult)pack;
            }
            catch (Exception e)
            {
                return(InternalError($"{location}: {e.Message} - {e.InnerException}"));
            }
        }
Example #3
0
        /// <summary>
        /// Register defect with exiciting id user and car
        /// </summary>
        /// <param name="registerDefectDto"></param>
        /// <returns>return register defect mapped to DefectDto</returns>
        public async Task <DefectDto> RegisterDefectAsync(RegisterDefectDto registerDefectDto)
        {
            var user = await userRepository.FindByIdDetailsAsync(registerDefectDto.UserId);

            var car = await carRepository.FindByIdAsync(registerDefectDto.CarId);

            if (user == null || car == null)
            {
                return(null);
            }
            Defect defect = new Defect(user.UserId,
                                       car.CarId,
                                       user.FirstName,
                                       user.LastName,
                                       user.MobileNumber,
                                       car.RegistrationNumber,
                                       registerDefectDto.Description,
                                       Status.Reported);

            defectRepository.Create(defect);
            await defectRepository.SaveChangesAsync();

            return(mapper.Map <DefectDto>(defect));
        }