Exemplo n.º 1
0
        private void CrearNuevoServicio()
        {
            string errorMsj = "";
            Servicios nuevoServicio = new Servicios();

            if (!Util.EsAlfaNumerico(txtNombreServicio.Text))
                errorMsj += "Nombre de servicio: Incompleto/Incorrecto.\n";
            else if (context.Servicios.Where(x => x.Nombre == txtNombreServicio.Text).Count() > 0)
                errorMsj += "Nombre de servicio: ya existe un servicio con el mismo nombre.\n";

            if (auxRelaciones.Count == 0)
                errorMsj += "El servicio no tiene estaciones relacionadas.\n";

            if (!nuevoServicio.ServicioEsValido(auxRelaciones))
                errorMsj += "Las relaciones del servicio tienen errores.\n";

            if (clbxFormacionesCrear.CheckedItems.Count == 0)
                errorMsj += "El servicio no tiene formaciones asignadas.\n";

            if (string.IsNullOrEmpty(errorMsj))
            {
                nuevoServicio.Nombre = txtNombreServicio.Text;
                nuevoServicio.Relaciones = auxRelaciones;

                for (int pos = 0; pos <= clbxFormacionesCrear.CheckedItems.Count - 1; pos++)
                {
                    Formaciones f = (Formaciones)clbxFormacionesCrear.CheckedItems[pos];
                    Servicios_X_Formaciones sf = new Servicios_X_Formaciones();
                    sf.Id_Formacion = f.Id;
                    sf.Formaciones = f;
                    //sf.Servicios = nuevoServicio;
                    nuevoServicio.Servicios_X_Formaciones.Add(sf);
                }
                try
                {
                    context.Servicios.Add(nuevoServicio);
                    context.SaveChanges();
                    lbxServiciosModificar.Items.Add(nuevoServicio);
                    lbxServiciosEliminar.Items.Add(nuevoServicio);
                    LimpiarTabCrear();
                    MessageBox.Show("El servicio se ha creado exitosamente.\n");
                }
                catch (Exception exc)
                {
                    MessageBox.Show("No se guardo el servicio \n\n" + exc.ToString());
                }
            }
            else
                MessageBox.Show(errorMsj);
        }
Exemplo n.º 2
0
        private void GuardarCambiosServicio()
        {
            string errorMsj = "";
            Servicios servicioSeleccionado = (Servicios)lbxServiciosModificar.SelectedItem;

            if (servicioSeleccionado == null)
            {
                MessageBox.Show("Se ha deseleccionado la formación que iba a ser modificada.\n");
                return;
            }

            List<string> nombreDeServicios = context.Servicios.Where(x => x.Id != servicioSeleccionado.Id).Select(x => x.Nombre).ToList<string>();

            if (!Util.EsAlfaNumerico(txtNombreServicioMod.Text))
                errorMsj += "Nombre de servicio: Incompleto ó Incorrecto.\n";
            else if (nombreDeServicios.Contains(txtNombreServicioMod.Text))
                errorMsj += "Nombre de servicio: ya existe un servicio con el mismo nombre.\n";

            if (servicioSeleccionado.Relaciones.Count == 0)
                errorMsj += "El servicio no tiene estaciones relacionadas.\n";

            if (!servicioSeleccionado.ServicioEsValido(servicioSeleccionado.Relaciones.ToList<Relaciones>()))
                errorMsj += "Las relaciones del servicio tienen errores.\n";

            if (clbxFormacionesMod.CheckedItems.Count == 0)
                errorMsj += "El servicio no tiene formaciones asignadas.\n";

            if (string.IsNullOrEmpty(errorMsj))
            {
                try
                {
                    List<Servicios_X_Formaciones> auxFormacionesServicio = servicioSeleccionado.Servicios_X_Formaciones.ToList<Servicios_X_Formaciones>();
                    servicioSeleccionado.Nombre = txtNombreServicioMod.Text;

                    /*Se quitan aquellas formaciones que ya no pertenezcan al servicio*/
                    foreach (Servicios_X_Formaciones sf in auxFormacionesServicio)
                    {
                        if (!clbxFormacionesMod.CheckedItems.Contains(sf.Formaciones))
                        {
                            servicioSeleccionado.Servicios_X_Formaciones.Remove(sf);
                            context.Servicios_X_Formaciones.Remove(sf);
                        }
                    }

                    /*Se agregan las nuevas formaciones al servicio*/
                    foreach (Formaciones f in clbxFormacionesMod.CheckedItems)
                    {
                        if (servicioSeleccionado.Servicios_X_Formaciones.Where(x => x.Id_Formacion == f.Id).Count() == 0)
                        {
                            Servicios_X_Formaciones servform = new Servicios_X_Formaciones();
                            servform.Id_Servicio = servicioSeleccionado.Id;
                            servform.Id_Formacion = f.Id;
                            servform.Formaciones = f;

                            servicioSeleccionado.Servicios_X_Formaciones.Add(servform);
                        }
                    }

                    /*Las modificaciones a la lista de relaciones se van guardando a medida que se agregan o sacan formaciones*/

                    context.SaveChanges();

                    lbxServiciosModificar.Items.Clear();
                    lbxServiciosEliminar.Items.Clear();
                    foreach (Servicios s in context.Servicios)
                    {
                        lbxServiciosModificar.Items.Add(s);
                        lbxServiciosEliminar.Items.Add(s);
                    }

                    MessageBox.Show("Los cambios han sido guardados exitosamente.\n");
                }
                catch (Exception exc)
                {
                    MessageBox.Show("No se guardo el servicio \n\n" + exc.ToString());
                }
            }
            else
                MessageBox.Show(errorMsj);
        }
Exemplo n.º 3
0
        /*Permite agregar un tipo de formacion que prestara el servicio*/
        public void AgregarFormacionDispoble(Formaciones unaFormacion)
        {
            Servicios_X_Formaciones sf = new Servicios_X_Formaciones();
            sf.Id_Servicio = this.Id;
            sf.Formaciones = unaFormacion;
            Servicios_X_Formaciones.Add(sf);

            //_formacionesDisponibles.Add(unaFormacion);
        }