public async Task <IActionResult> AddOrUpdate(BirthdayPersonDto model, IFormFile profilePicture)
        {
            var userId = _accountService.GetUserId(HttpContext.User);

            model.UserId = userId.Data;

            if (profilePicture != null && profilePicture.ContentType.Contains("image"))
            {
                var url = await _imageService.Upload(profilePicture);

                model.ProfilePictureUrl = url;
            }

            var result = await _birthdayPerson.AddOrUpdate(model);

            if (result.ErrorType == ErrorType.Validation)
            {
                return(ControllerHelperMethods.AddValidationErrorsToModel(result.Message, ViewData, model));
            }

            TempData.Put("result", new ResultModel {
                IsSuccess = result.IsSuccess, Message = result.Message
            });
            return(RedirectToAction("Profile", "Account"));
        }
        public async Task <Result> AddOrUpdate(BirthdayPersonDto entity)
        {
            var validation = Validator.Validate(entity, new BirthdayPersonValidator());

            if (!validation.IsSuccess)
            {
                return(validation);
            }

            if (entity.Id == 0)
            {
                await _birthdayPersonDal.Create(_mapper.Map <BirthdayPerson>(entity));

                return(new SuccessResult(ResultMessages.CreateBirthdaySuccess));
            }
            else
            {
                await _birthdayPersonDal.Update(_mapper.Map <BirthdayPerson>(entity));

                return(new SuccessResult(ResultMessages.UpdateBirthdaySuccess));
            }
        }
        public IViewComponentResult Invoke(string page, BirthdayPersonDto model)
        {
            ViewData["page"] = page;

            return(View(model));
        }