public async Task <ActionResult> Edit(LotModel model)
        {
            if ((!User.IsInRole("Admin") &&
                 User.Identity.GetUserId() != model.SellerId) ||
                !string.IsNullOrWhiteSpace(model.BuyerId))
            {
                return(RedirectToAction("Forbidden", "Errors"));
            }

            if (ModelState.IsValid)
            {
                var result = await _lotService.UpdateAsync(model);

                if (result.Succedeed)
                {
                    return(RedirectToAction("Details", new { id = ((LotModel)result.ReturnValue).Id }));
                }

                foreach (var error in result.ValidationResults)
                {
                    ModelState.AddModelError(error.MemberNames.First(), error.ErrorMessage);
                }
            }

            return(View(model));
        }