public ActionResult AddSale(AddSaleViewModel sale)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    BO.SaleService.Add(GetSaleModel(sale));
                }
                catch (Exception e)
                {
                    Log.Error(e);
                    ViewBag.Message = "An error occurred while adding";
                    return PartialView("AddSaleAns");
                }

                Log.Trace("Sale adding successfully");
                ViewBag.Message = "Sale adding successfully";
                return PartialView("AddSaleAns");
            }

            return PartialView("_AddSaleInputsPartial");
        }
 private SaleModel GetSaleModel(AddSaleViewModel view)
 {
     return new SaleModel()
     {
         Id = 0,
         Date = view.Date,
         Goods =
                     BO.GoodsService.FindByName(view.Goods) ??
                     new GoodsModel { Name = view.Goods },
         Manager =
                     BO.ManagerService.FindBySecondName(view.Manager) ??
                     new ManagerModel { SecondName = view.Manager },
         Client =
                     BO.ClientService.FindByFullName(view.Client) ??
                     new ClientModel { FullName = view.Client },
         SellingPrice = view.SellingPrice
     };
 }