public IActionResult AddActor([FromForm] ActorSaveDto actorSave) { var result = _actorService.AddActor(actorSave); if (!result.Success) { return(BadRequest(result.Message)); } return(Ok(result.Actor)); }
public ActorResponse AddActor(ActorSaveDto actorSave) { Dictionary <string, string[]> errors = new Dictionary <string, string[]>(); if (actorSave.Born > DateTime.Now) { errors.Add("Data", new[] { "Podana data jest nieprawidłowa" }); return(new ActorResponse(errors)); } UserAccount user = _context.UserAccounts.FirstOrDefault(u => u.UserName == _userName || u.Email == _userName); if (user == null) { errors.Add("User", new[] { "Podane konto nie istnieje" }); return(new ActorResponse(errors)); } if (user.Rola != "admin" && user.Rola != "moderator") { errors.Add("User", new[] { "Nie masz dostepu do tej czesci serwisu" }); return(new ActorResponse(errors)); } Actor actorModel = _mapper.Map <ActorSaveDto, Actor>(actorSave); actorModel.AccountCreate = user.UserName; actorModel.Age = DateTime.Now.Year - actorModel.Born.Year; List <ImageActor> uploadedImagesModels = new List <ImageActor>(); if (actorSave.Images != null) { try { uploadedImagesModels = _imageService.UploadImagesToServer(actorSave.Images, actorModel); } catch (Exception ex) { errors.Add("Images", new[] { ex.Message }); return(new ActorResponse(errors)); } } actorModel.Images = uploadedImagesModels; try { _context.ActorImages.AddRange(uploadedImagesModels); _context.Actors.Add(actorModel); _context.SaveChanges(); ActorReturnDto actorReturnDto = _mapper.Map <Actor, ActorReturnDto>(actorModel); actorReturnDto.Images = new List <string>(); foreach (var e in actorModel.Images) { actorReturnDto.Images.Add(e.FileName); } return(new ActorResponse(actorReturnDto)); } catch (Exception ex) { errors.Add("Wystapil nieoczekiwany blad", new[] { ex.Message }); return(new ActorResponse(errors)); } }