public async Task <ActionResult> New_Client(ClientCardViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    IMapper    map     = MappingConfig.MapperConfigClient.CreateMapper();
                    ClientCard context = map.Map <ClientCard>(model);

                    string src = await _repository.AddClientCardAsync(context);

                    if (src != null)
                    {
                        logger.Error(src);
                    }
                    ModelState.Clear();
                }
                catch (System.Exception ex)
                {
                    logger.Error("error: {0}", ex.Message);
                    ModelState.Clear();
                }
            }
            return(RedirectToAction("List_Client", "Client"));
        }
Example #2
0
        private ClientCardViewModel GetClientCard(User user, Specialist specialist)
        {
            var result = new ClientCardViewModel
            {
                ID            = user.ID,
                User          = new UserViewModel(user),
                ProblemsCount = ProblemService.GetUserProblemsCount(user),
            };

            var sessions = SessionService.GetAll()
                           .Where(x => x.Problem.User == user && x.Specialist == specialist)
                           .OrderByDescending(x => x.Date)
                           .ToList();

            var reviews = new List <ReviewViewModel>();

            sessions.ForEach(session =>
            {
                var review = ReviewService.GetSessionReview(session);
                reviews.Add(new ReviewViewModel(review));
            });

            result.Sessions     = sessions.Select(x => GetSpecialistSession(x)).ToList();
            result.AverageScore = (reviews.Sum(x => x.Score) / reviews.Count);
            result.Paid         = sessions.Where(x => x.Status == SessionStatus.Success).Sum(x => x.Reward);
            result.RefundsCount = sessions.Where(x => x.Status == SessionStatus.Refund).ToList().Count;

            return(result);
        }
        public async Task <ActionResult> Delete_Client(int id)
        {
            var model = await _repository.ClientCard.FirstOrDefaultAsync(m => m.ClientId == id);

            if (model == null)
            {
                return(HttpNotFound());
            }
            IMapper             map     = MappingConfig.MapperConfigClient.CreateMapper();
            ClientCardViewModel context = map.Map <ClientCardViewModel>(model);

            return(View(context));
        }
        public async Task <ActionResult> Result_Client(CheckClientViewModel model)
        {
            if (ModelState.IsValid)
            {
                IMapper    map     = MappingConfig.MapperConfigClient.CreateMapper();
                ClientCard context = map.Map <ClientCard>(model);

                var result = await _repository.CheckClientCardAsync(context);

                if (result != null)
                {
                    IMapper             mapT     = MappingConfig.MapperConfigClient.CreateMapper();
                    ClientCardViewModel contextT = map.Map <ClientCardViewModel>(result);
                    return(View(contextT));
                }
            }

            ViewBag.Message = "At your request no results";
            return(View("_Result"));
        }
        public async Task <ActionResult> Details_Client(int id)
        {
            try
            {
                var model = await _repository.ClientCard.FirstOrDefaultAsync(m => m.ClientId == id);

                if (model == null)
                {
                    return(HttpNotFound());
                }
                IMapper             map     = MappingConfig.MapperConfigClient.CreateMapper();
                ClientCardViewModel context = map.Map <ClientCardViewModel>(model);
                return(View(context));
            }
            catch (Exception ex)
            {
                logger.Error("error: {0}", ex.Message);
            }
            return(RedirectToAction("List_Client"));
        }