public ActionResult CostesadicionalesUpdate([ModelBinder(typeof(DevExpressEditorsBinder))] TraspasosalmacenCostesadicionalesModel item)
        {
            var model = Session[sessioncostes] as List <TraspasosalmacenCostesadicionalesModel>;

            if (ModelState.IsValid)
            {
                var editItem = model.Single(f => f.Id == item.Id);
                if (item.Tipodocumento == TipoCosteAdicional.Documento && string.IsNullOrEmpty(item.Referenciadocumento))
                {
                    ModelState.AddModelError("Referenciadocumento", "El campo es obligatorio");
                }
                {
                    if (item.Tipodocumento == TipoCosteAdicional.Importefijo)
                    {
                        item.Referenciadocumento = string.Empty;
                    }
                    item.Total = Math.Round((double)(item.Importe * (item.Porcentaje / 100.0)), 2);

                    editItem.Tipodocumento       = item.Tipodocumento;
                    editItem.Referenciadocumento = item.Referenciadocumento;
                    editItem.Importe             = item.Importe;
                    editItem.Porcentaje          = item.Porcentaje;
                    editItem.Total       = item.Total;
                    editItem.Tipocoste   = item.Tipocoste;
                    editItem.Tiporeparto = item.Tiporeparto;
                    editItem.Notas       = item.Notas;

                    Session[sessioncostes] = model;
                }
            }

            return(PartialView("_Traspasosalmacencostesadicionales", model));
        }
        public ActionResult CostesadicionalesNew([ModelBinder(typeof(DevExpressEditorsBinder))] TraspasosalmacenCostesadicionalesModel item)
        {
            var model = Session[sessioncostes] as List <TraspasosalmacenCostesadicionalesModel>;

            if (ModelState.IsValid)
            {
                var max = model.Any() ? model.Max(f => f.Id) : 0;
                item.Id = max + 1;
                if (item.Tipodocumento == TipoCosteAdicional.Documento &&
                    string.IsNullOrEmpty(item.Referenciadocumento))
                {
                    ModelState.AddModelError("Referenciadocumento", "El campo es obligatorio");
                }
                else
                {
                    if (item.Tipodocumento == TipoCosteAdicional.Importefijo)
                    {
                        item.Referenciadocumento = string.Empty;
                    }

                    item.Total = Math.Round((double)(item.Importe * (item.Porcentaje / 100.0)), 2);

                    model.Add(item);
                    Session[sessioncostes] = model;
                }
            }

            return(PartialView("_Traspasosalmacencostesadicionales", model));
        }