示例#1
0
        /// <summary>
        /// Agregar nuevo dispositivo.
        /// </summary>
        /// <param name="dispositivo">Objeto dispositivo del modelo DispositivosModel.</param>
        /// <returns></returns>
        internal RespuestaBase AgregarDispositivo(DispositivosModel dispositivo)
        {
            log.Info("Llamada al metodo");
            RespuestaBase respuesta = new RespuestaBase();

            try
            {
                dispositivo.registro = dispositivo.registro != null ? dispositivo.registro : DateTime.Now;
                DISPOSITIVO new_dispositivo = BaseModel.GetModel <DISPOSITIVO>(dispositivo, new DISPOSITIVO());
                DispositivosRepository.AgregarDispositivo(new_dispositivo);
                if (new_dispositivo.id != 0)
                {
                    dispositivo.id  = new_dispositivo.id;
                    respuesta.Datos = dispositivo;

                    if (dispositivo.Componentes.Count > 0)
                    {
                        foreach (ComponentesModel componenete in dispositivo.Componentes)
                        {
                            COMPONENTE new_componenete = BaseModel.GetModel <COMPONENTE>(componenete, new COMPONENTE());
                            if (new_componenete.nombre != null)
                            {
                                try
                                {
                                    new_componenete.registro       = DateTime.Now;
                                    new_componenete.dispositivo_id = new_dispositivo.id;
                                    ComponentesRepository.AgregarComponente(new_componenete);
                                    componenete.registro       = new_componenete.registro;
                                    componenete.id             = new_componenete.id;
                                    componenete.dispositivo_id = new_dispositivo.id;
                                }
                                catch (Exception ex)
                                {
                                    respuesta.Mensaje += " " + ex.Message;
                                    log.Error(respuesta.Mensaje, ex);
                                }
                            }
                        }
                    }
                }
                else
                {
                    string mensaje = String.Format("No fue posible agregar nuevo dispositivo nombre-->{0}.", dispositivo.nombre);
                    respuesta.Estatus  = false;
                    respuesta.Mensaje += " " + mensaje;
                    log.Error(mensaje);
                }
            }
            catch (Exception ex)
            {
                respuesta.Mensaje += " " + ex.Message;
                respuesta.Estatus  = false;
                log.Error(respuesta.Mensaje, ex);
            }
            return(respuesta);
        }
        /// <summary>
        /// Agrega nuevo dispositivo.
        /// </summary>
        /// <param name="new_dispositivo">Nuevo objeto dispositivo de la tabla DISPOSITIVOS</param>
        /// <returns></returns>
        internal static DISPOSITIVO AgregarDispositivo(DISPOSITIVO new_dispositivo)
        {
            log.Info("Llamada al metodo");
            using (play0dbEntities dbEntities = new play0dbEntities())
            {
                DISPOSITIVO existe_dispositivo = dbEntities.DISPOSITIVOS.Where(x => x.nombre == new_dispositivo.nombre).Select(s => s).FirstOrDefault();

                if (existe_dispositivo != null)
                {
                    throw new ArgumentException(string.Format("Ya existe un dispositivo con el nombre {0}", new_dispositivo.nombre));
                }
                dbEntities.DISPOSITIVOS.Add(new_dispositivo);
                dbEntities.SaveChanges();

                if (new_dispositivo.id != 0)
                {
                    return(new_dispositivo);
                }
                else
                {
                    throw new Exception(string.Format("No fue posible guardar un nuevo dispositivo {0}.", new_dispositivo.nombre));
                }
            }
        }