public Encargado(MET01_ENCARGADO datos)
 {
     dbModel = datos;
 }
        public Mensaje <Iglesia> agregarNuevaIglesia()
        {
            Mensaje <Iglesia> result = new Mensaje <Iglesia>();

            result.codigo  = 1;
            result.mensaje = "Ocurrio un error en base de datos al tratar de agregar la Iglesia";
            result.data    = new Iglesia();

            try
            {
                using (var tr = new TransactionScope())
                {
                    using (var db = new EntitiesMetro())
                    {
                        var idp = db.MET01_PASTOR.Select(p => p.PASTOR).Max();
                        idp++;
                        MET01_PASTOR nuevoPastor = new MET01_PASTOR();
                        nuevoPastor.PASTOR           = idp;
                        nuevoPastor.NOMBRE           = this.nombre_pastor.ToUpper();
                        nuevoPastor.ESTADO_REGISTRO  = "A";
                        nuevoPastor.USUARIO_CREACION = Global.usuario;
                        nuevoPastor.FECHA_CREACION   = DateTime.Now;

                        db.MET01_PASTOR.Add(nuevoPastor);

                        int res_p = db.SaveChanges();

                        if (res_p <= 0)
                        {
                            Transaction.Current.Rollback();
                            result.codigo  = -2;
                            result.mensaje = "No fue posible registrar la Iglesia, ref: No pudo registrar datos del Pastor";
                            result.data    = new Iglesia();
                            return(result);
                        }

                        var ide = db.MET01_ENCARGADO.Select(p => p.ENCARGADO).Max();
                        ide++;
                        MET01_ENCARGADO nuevoEncargado = new MET01_ENCARGADO();
                        nuevoEncargado.ENCARGADO        = ide;
                        nuevoEncargado.NOMBRE           = this.nombre_encargado.ToUpper();
                        nuevoEncargado.TELEFONO         = this.telefono_encargado;
                        nuevoEncargado.ESTADO_REGISTRO  = "A";
                        nuevoEncargado.USUARIO_CREACION = Global.usuario;
                        nuevoEncargado.FECHA_CREACION   = DateTime.Now;

                        db.MET01_ENCARGADO.Add(nuevoEncargado);

                        int res_e = db.SaveChanges();

                        if (res_e <= 0)
                        {
                            Transaction.Current.Rollback();
                            result.codigo  = -2;
                            result.mensaje = "No fue posible registrar la Iglesia ref: No pudo registrar datos del Encargado";
                            result.data    = new Iglesia();
                            return(result);
                        }

                        var idi = db.MET01_IGLESIA.Select(iga => iga.IGLESIA).Max();
                        idi++;
                        MET01_IGLESIA nuevaIglesia = new MET01_IGLESIA();
                        nuevaIglesia.IGLESIA          = idi;
                        nuevaIglesia.NOMBRE           = this.nombre.ToUpper();
                        nuevaIglesia.REGION           = this.region;
                        nuevaIglesia.ENCARGADO        = ide;
                        nuevaIglesia.PASTOR           = idp;
                        nuevaIglesia.ESTADO_REGISTRO  = "A";
                        nuevaIglesia.USUARIO_CREACION = Global.usuario;
                        nuevaIglesia.FECHA_CREACION   = DateTime.Now;

                        db.MET01_IGLESIA.Add(nuevaIglesia);

                        int res_i = db.SaveChanges();

                        if (res_i <= 0)
                        {
                            Transaction.Current.Rollback();
                            result.codigo  = -2;
                            result.mensaje = "No fue posible registrar la Iglesia, ref: No pudo registrar datos de la Iglesia";
                            result.data    = new Iglesia();
                            return(result);
                        }
                    }
                    tr.Complete();
                    result.codigo  = 0;
                    result.mensaje = "Se registro la iglesia: " + this.nombre.ToUpper();
                    return(result);
                }
            }
            catch (Exception ex)
            {
                result.codigo  = -1;
                result.mensaje = "Ocurrio una excepcion al guarda la Iglesia, ref: " + ex.ToString();
                result.error   = ex.ToString();
                return(result);
            }
        }
 public Encargado()
 {
     dbModel = new MET01_ENCARGADO();
 }