/// <summary> /// Adds the assigned Transportistas to the user. /// </summary> private void AddTransportistas() { var list = cbTransportista.SelectedValues; var user = DAOFactory.UsuarioDAO.FindById(Usuario.Id); var transp = user.Transportistas.Cast <Transportista>().ToList(); var todos = (list.Count == 0 || list.Contains(-1) || list.Contains(0)); var porTransportista = !todos || user.PorTransportista; var sinTransportista = (todos || list.Contains(cbTransportista.NoneValue)) && user.MostrarSinTransportista; /*si elige el todos se le asigna los maximos transportistas que podia ver el usuario con el que se esta haceidno la asignacion*/ EditObject.ClearTransportistas(); if (todos) { foreach (var t in transp) { EditObject.AddTransportista(t); } } else { foreach (var id in list.Where(i => i > 0)) { EditObject.AddTransportista(DAOFactory.TransportistaDAO.FindById(id)); } } EditObject.MostrarSinTransportista = sinTransportista; EditObject.PorTransportista = porTransportista; }