public ActionResult EditarComision(int id)
        {
            var comision = _comisionBL.Get(id);
            var model    = new ComisionModel
            {
                CodigoComision        = comision.Cod_Com,
                NombreComision        = comision.Nro_Com,
                CargoId               = comision.Cod_Car,
                CanalVentaId          = comision.Cod_Cnl_Vta,
                CampaniaId            = comision.Cod_Camp,
                RequisitoListSelected = comision.ComisionRequisito.Select(p => p.Cod_Req).ToList(),
                RangoList             = comision.Rango.Select(p => new RangoModel
                {
                    Minimo   = p.Ss_Min,
                    Maximo   = p.Ss_Max,
                    Cantidad = p.Qtd_Cant
                }).ToList(),
                Accion = "EditarComision"
            };

            DatosIniciales(model);

            model.CargoList.Insert(0, new Comun {
                Nombre = "[SELECCIONAR]", Valor = string.Empty
            });
            model.CampaniaList.Insert(0, new Comun {
                Nombre = "[SELECCIONAR]", Valor = string.Empty
            });
            model.CanalVentList.Insert(0, new Comun {
                Nombre = "[SELECCIONAR]", Valor = string.Empty
            });

            return(View("Edit", model));
        }
        public ActionResult VerComision(int id)
        {
            var comision = _comisionBL.Get(id);

            var model = new ComisionModel
            {
                NombreComision   = comision.Nro_Com,
                CampaniaNombre   = comision.Campania.Nro_Camp,
                CargoNombre      = comision.Cargo.Nro_Car,
                CanalVentaNombre = comision.CanalVenta.Nro_Cnl_Vta,
                RequisitoList    = comision.ComisionRequisito.Select(p => new Comun
                {
                    Valor  = Convert.ToString(p.Cod_Req),
                    Nombre = p.Requisito.Nro_Req
                }).ToList(),
                RangoList = comision.Rango.Select(p => new RangoModel
                {
                    Minimo   = p.Ss_Min,
                    Maximo   = p.Ss_Max,
                    Cantidad = p.Qtd_Cant
                }).ToList()
            };

            return(View("Ver", model));
        }
        public ActionResult EditarComision(ComisionModel model)
        {
            try
            {
                var comision = _comisionBL.Get(model.CodigoComision);
                comision.Nro_Com     = model.NombreComision;
                comision.Cod_Camp    = model.CampaniaId;
                comision.Cod_Cnl_Vta = model.CanalVentaId;
                comision.Cod_Car     = model.CargoId;

                while (comision.ComisionRequisito.Count != 0)
                {
                    var item = comision.ComisionRequisito.ElementAt(0);
                    comision.ComisionRequisito.Remove(item);
                }

                foreach (var item in model.RequisitoListSelected)
                {
                    comision.ComisionRequisito.Add(new ComisionRequisito
                    {
                        Cod_Req = item
                    });
                }

                while (comision.Rango.Count != 0)
                {
                    var item = comision.Rango.ElementAt(0);
                    _comisionBL.EliminarRango(item);
                    //comision.Rango.Remove(item);
                }

                foreach (var item in model.RangoList)
                {
                    comision.Rango.Add(new Rango
                    {
                        Ss_Max   = item.Maximo,
                        Ss_Min   = item.Minimo,
                        Qtd_Cant = item.Cantidad
                    });
                }

                _comisionBL.Update(comision);
            }
            catch (Exception)
            {
            }

            return(Json(Url.Action("Index", "Comision")));
        }
        public ActionResult CrearComision(ComisionModel model)
        {
            try
            {
                var comision = new Comision
                {
                    Nro_Com     = model.NombreComision,
                    Cod_Camp    = model.CampaniaId,
                    Cod_Cnl_Vta = model.CanalVentaId,
                    Cod_Car     = model.CargoId,
                    Fec_Reg     = DateTime.Now
                };

                if (model.RequisitoListSelected != null)
                {
                    foreach (var item in model.RequisitoListSelected)
                    {
                        comision.ComisionRequisito.Add(new ComisionRequisito
                        {
                            Cod_Req = item
                        });
                    }
                }

                if (model.RangoList != null)
                {
                    foreach (var item in model.RangoList)
                    {
                        comision.Rango.Add(new Rango
                        {
                            Ss_Max   = item.Maximo,
                            Ss_Min   = item.Minimo,
                            Qtd_Cant = item.Cantidad
                        });
                    }
                }

                _comisionBL.Add(comision);
            }
            catch (Exception)
            {
            }

            return(Json(Url.Action("Index", "Comision")));
        }
        public ActionResult CrearComision()
        {
            var model = new ComisionModel();

            DatosIniciales(model);
            model.Accion    = "CrearComision";
            model.RangoList = new List <RangoModel>();

            model.CargoList.Insert(0, new Comun {
                Nombre = "[SELECCIONAR]", Valor = string.Empty
            });
            model.CampaniaList.Insert(0, new Comun {
                Nombre = "[SELECCIONAR]", Valor = string.Empty
            });
            model.CanalVentList.Insert(0, new Comun {
                Nombre = "[SELECCIONAR]", Valor = string.Empty
            });

            return(View("Edit", model));
        }
 private void DatosIniciales(ComisionModel model)
 {
     model.CargoList = _cargoBL.FindAll().ToList().ConvertAll(p => new Comun
     {
         Nombre = p.Nro_Car,
         Valor  = Convert.ToString(p.Cod_Car)
     });
     model.CampaniaList = _campaniaBL.FindAll().ToList().ConvertAll(p => new Comun
     {
         Nombre = p.Nro_Camp,
         Valor  = Convert.ToString(p.Cod_Camp)
     });
     model.CanalVentList = _canalVentaBL.FindAll().ToList().ConvertAll(p => new Comun
     {
         Nombre = p.Nro_Cnl_Vta,
         Valor  = Convert.ToString(p.Cod_Cnl_Vta)
     });
     model.RequisitoList = _requisitoBL.FindAll().ToList().ConvertAll(p => new Comun
     {
         Nombre = p.Nro_Req,
         Valor  = Convert.ToString(p.Cod_Req)
     });
 }