예제 #1
0
        /// <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;
        }