public virtual ActionResult Index()
        {
            using (var proxy = new AxadoCarrier.ServiceReference.WCFAxadoWSClient())
            {
                var carrierList = proxy.GetAllCarriers();

                return(View(carrierList));
            }
        }
        public virtual ActionResult Delete(Guid id)
        {
            using (var proxy = new AxadoCarrier.ServiceReference.WCFAxadoWSClient())
            {
                proxy.CarrierDelete(id);

                return(RedirectToAction(MVC.Carrier.Index()));
            }
        }
        public virtual ActionResult Edit(CarrierViewModel model)
        {
            using (var proxy = new AxadoCarrier.ServiceReference.WCFAxadoWSClient())
            {
                proxy.CarrierUpdate(model);

                return(RedirectToAction(MVC.Carrier.Details(model.Id)));
            }
        }
        public virtual ActionResult Edit(Guid id)
        {
            using (var proxy = new AxadoCarrier.ServiceReference.WCFAxadoWSClient())
            {
                var carrier = proxy.GetCarrier(id);

                return(View(carrier));
            }
        }
        public virtual ActionResult Edit(CarrierRateViewModel model)
        {
            var username = HttpContext.Session["CurrentUser"] as string;

            using (var proxy = new AxadoCarrier.ServiceReference.WCFAxadoWSClient())
            {
                model.Username = username;
                proxy.RateUpdate(model);

                return(RedirectToAction(MVC.CarrierRate.Details(model.Id)));
            }
        }
        public virtual ActionResult Create(Guid id)
        {
            var username = HttpContext.Session["CurrentUser"] as string;

            using (var proxy = new AxadoCarrier.ServiceReference.WCFAxadoWSClient())
            {
                var model = proxy.GetRate(new CarrierRateViewModel {
                    Id = id, Username = username
                });
                return(View(model));
            }
        }
        public virtual ActionResult Create(CarrierRateViewModel model)
        {
            var username = HttpContext.Session["CurrentUser"] as string;

            model.Username = username;

            using (var proxy = new AxadoCarrier.ServiceReference.WCFAxadoWSClient())
            {
                if (proxy.CheckIfUserAlreadyRates(new CarrierRateViewModel {
                    Id = model.Id, Username = username
                }) == true)
                {
                    ModelState.AddModelError(string.Empty, "User can't vote twice.");

                    return(View(model));
                }

                var rateId = proxy.RateCreate(model);

                return(RedirectToAction(MVC.CarrierRate.Details(model.Id)));
            }
        }