Exemple #1
0
 public ActorInfo SaveActorInfo(ActorInfoRequestDTO actorInfo)
 {
     using (var unitOfWork = new UnitOfWork())
     {
         return(unitOfWork.actorRepository.SaveActorInfo(actorInfo));
     }
 }
Exemple #2
0
        public HttpResponseMessage SaveActorInfo(ActorInfoRequestDTO request)
        {
            var propertyToValidate = ModelState["request.DOB"];

            if (propertyToValidate != null && propertyToValidate.Errors.Any())
            {
                ModelState.AddModelError("DOB", "Date Of Birth is required!");
            }
            if (ModelState.IsValid)
            {
                var result = new ResponseContext <ActorResponseDTO>()
                {
                    Status = ResponseStatus.Warning
                };
                DeltaMovieBL bussiness = new DeltaMovieBL();
                try
                {
                    var response = bussiness.SaveActorInfo(request);
                    if (response != null)
                    {
                        result.Item = new ActorResponseDTO()
                        {
                            ActorId = response.ActorId,
                            Name    = response.Name
                        };
                        result.Status  = ResponseStatus.Success;
                        result.Message = string.Format("{1} <b>{0}</b> is successfully saved.", response.Name, (request.Sex == "M" ? "Actor" : "Actress")).ToSuccessMessage();
                    }
                    else
                    {
                        result.Status  = ResponseStatus.Warning;
                        result.Message = string.Format("{2} {0}({1}) is already exists. Are you sure you want to save?.", request.ActorName, request.DOB.ToString("dd/MM/yyyy"), (request.Sex == "M" ? "Actor" : "Actress"));
                    }
                }
                catch (Exception Error)
                {
                    return(Request.CreateResponse(HttpStatusCode.OK, new ResponseContext <MovieResponseDTO>()
                    {
                        Status = ResponseStatus.Error,
                        Message = Error.Message.ToErrorMessage()
                    }));
                }
                return(Request.CreateResponse(HttpStatusCode.OK, result));
            }
            else
            {
                string messages = string.Join(string.Empty, ModelState.Values
                                              .SelectMany(x => x.Errors)
                                              .Select(x => string.Format("<p>{0}</p>", x.ErrorMessage)));
                return(Request.CreateResponse(HttpStatusCode.OK, new ResponseContext <MovieResponseDTO>()
                {
                    Status = ResponseStatus.Error,
                    Message = messages.ToErrorMessage(),
                    Item = new MovieResponseDTO()
                    {
                    }
                }));
            }
        }
Exemple #3
0
        public ActorInfo SaveActorInfo(ActorInfoRequestDTO request)
        {
            using (var transaction = dbContext.Database.BeginTransaction())
            {
                try
                {
                    DateTime dateOfBirth = new DateTime(request.DOB.Year, request.DOB.Month, request.DOB.Day, 0, 0, 0);
                    if (dbContext.ActorInfoes.Where(a => (a.Name == request.ActorName && a.DOB == dateOfBirth && a.Sex == request.Sex)).FirstOrDefault() != null)
                    {
                        if (!request.NameConfirm)
                        {
                            return(null);
                        }
                    }

                    ActorInfo actorInfo = new ActorInfo()
                    {
                        Bio         = request.Bio,
                        CreatedDate = DateTime.Now,
                        DOB         = request.DOB,
                        Name        = request.ActorName,
                        Sex         = request.Sex,
                        Status      = true
                    };

                    dbContext.ActorInfoes.Add(actorInfo);
                    dbContext.SaveChanges();
                    transaction.Commit();
                    return(actorInfo);
                }
                catch (Exception)
                {
                    transaction.Rollback();
                    throw;
                }
            }
        }