public ActionResult AddCliente(string selectedRol, string IdUsuario) { int userId = 0; if (!int.TryParse(IdUsuario, out userId)) { throw new Exception(" No existe el usuario seleccionado"); } int rolId = 0; if (!int.TryParse(selectedRol, out rolId)) { throw new Exception(" No existe el rol seleccionado"); } vClientes clientes = new Business.Views.vClientes(); var clientesNoRol = clientes.GetViewModel().AsEnumerable(); //List<Cliente> clientesNoRol = clienteRepository.GetAll().ToList(); RolEmpresa usuarioRol = rolEmpresaRepository.GetFiltered(x => x.Rol_Id == rolId && x.Usuario_Id == userId).FirstOrDefault(); var clientesRolUsuario = usuarioRolClienteRepository.GetFiltered(x => x.UsuarioRol_Id == usuarioRol.Id && x.Estado == true).ToList(); // List<Cliente> clientesRolUsuario = usuarioRolClienteRepository.GetFiltered(x => x.UsuarioRol_Id == usuarioRol.Id).Select(x => x.Cliente).ToList(); clientesNoRol = clientesNoRol.Where(x => !clientesRolUsuario.Any(y => y.Cliente_Id == x.Field <Int32>("ID"))); clientes.Datos = clientesNoRol.CopyToDataTable(); Session["ClientesNoRol"] = clientesNoRol.CopyToDataTable(); return(PartialView("_Clientes", clientes)); }
public DataTable GetClientesFromUsuario(int idUsuario, bool OnlyOne) { //RolEmpresaRepository rolEmpresaRepository = new RolEmpresaRepository(); //UsuarioRolClienteRepository usuarioRolClienteRepository = new UsuarioRolClienteRepository(); //vClientes vClientes = new Business.Views.vClientes(); //List<RolEmpresa> rolesUsuario = rolEmpresaRepository.GetFiltered(x => x.Usuario_Id == idUsuario // && x.Rol.Estado == true && x.Usuario.Estado == true, x => x.Rol).ToList(); //bool isAdmin = false; //List<UsuarioRolCliente> userRolClient = new List<UsuarioRolCliente>(); //foreach (RolEmpresa rol in rolesUsuario) //{ // List<UsuarioRolCliente> clientesRol = usuarioRolClienteRepository.GetFiltered(s => s.UsuarioRol.Rol_Id == rol.Rol_Id // && s.UsuarioRol.Usuario_Id == idUsuario && s.Estado == true).ToList(); // if (rol.Rol.Id == (int)RolRepository.SystemROL.ADMIN) // isAdmin = true; // foreach (UsuarioRolCliente clienteRol in clientesRol) // { // userRolClient.Add(clienteRol); // } //} //if (isAdmin) // Session["IsAdmin"] = true; //else // Session["IsAdmin"] = false; //foreach (var item in userRolClient) //{ // var listRow = (new vClientes()).GetViewModel().AsEnumerable() // .Where(r => r.Field<int>("ID") == item.Cliente_Id).ToList(); // foreach (DataRow dr in listRow) // { // vClientes.Datos.Rows.Add(dr.ItemArray); // if(OnlyOne == true) // break; // } // if (OnlyOne == true) // break; //} var vClientes = new vClientes(); if (IsAdmin) { vClientes = new Business.Views.vClientes(); } else { vClientes = new Business.Views.vClientes(UserContext.RolesCliente.ToList()); } return(vClientes.Datos); }
public static void SetCellData(object sender, ASPxGridViewTableDataCellEventArgs e, string controller) { MVCxGridView gv = sender as MVCxGridView; gv.Visible = (gv.VisibleRowCount > 0); //ListadoRepository listadoRepository = new ListadoRepository(); //PropiedadNavegacionListadoRepository propiedadNavegacionRepository = new PropiedadNavegacionListadoRepository(); Listado listado = AppSession.Listados.Where(x => x.Nombre.ToUpper().StartsWith(controller.ToUpper())).FirstOrDefault();//listadoRepository.GetFiltered(x => x.Nombre.ToUpper().StartsWith(controller.ToUpper())).FirstOrDefault(); vClientes vClientes = new Business.Views.vClientes(); foreach (GridViewColumn column in gv.Columns) { var dataColumn = column as GridViewDataColumn; if (dataColumn != null && listado != null) { //if (propiedadNavegacionRepository.GetFiltered(x => x.Listado_Id == listado.Id && x.CampoFK.ToUpper().Equals(e.DataColumn.FieldName.ToUpper())).Any()) if (AppSession.PropiedadesNavegacion.Where(x => x.Listado_Id == listado.Id && x.CampoFK.ToUpper().Equals(e.DataColumn.FieldName.ToUpper())).Any()) { if (e.DataColumn.FieldName.ToUpper() == "CODIGOCLIENTE") { int idCliente = Convert.ToInt32(e.CellValue); DataTable data = vClientes.GetByID(idCliente); if (data.Rows.Count > 0) { e.Cell.Text = "<a href='/Cliente/View/" + idCliente + "' title='Ver Cliente'>" + data.Rows[0]["Descripcion"].ToString() + "</a>"; } else { e.Cell.Text = "Cliente Inexistente"; } } if (e.DataColumn.FieldName.ToUpper() == "PRO_COD") { vProductos vProductos = new Business.Views.vProductos(); vProductos.Datos = vProductos.GetEmpyViewModel(); string idProducto = e.CellValue.ToString(); DataTable data = vProductos.GetByID(idProducto); if (data.Rows.Count > 0) { e.Cell.Text = "<a href='/Producto/View/" + idProducto + "' title='Ver Producto'>" + data.Rows[0]["Descripcion"].ToString() + "</a>"; } else { e.Cell.Text = "Producto Inexistente"; } } } } } }