Пример #1
0
        static void Main(string[] args)
        {
            Entities_ModeloCI db = new Entities_ModeloCI();

            ModeloProsper.Modelo modelo = new ModeloProsper.Modelo("A392620C-AA17-462E-A10E-3D16CFA526F9");


            // modelo.Execute("A392620C-AA17-462E-A10E-3D16CFA526F9");

            // var mod_pozo = db.VW_MOD_POZO.Where(w => w.IDPOZO == "892F201D-41F7-42BE-A7B0-A7643AE77A98").SingleOrDefault();
            // var scheduled = db.CabeceraPozoGBN.Where(w => w.idPozo == "892F201D-41F7-42BE-A7B0-A7643AE77A98").ToList()[0];

            // ///var Names = scheduled.nombreArchivo.Split("\" +ToCharArray());
            // // string NameMaster As String = Names(Names.Length - 1)

            // string PathFile = "C:/PVTs/Tmps/prueba.OUT";

            // //Dim Bytes() As Byte = System.Convert.FromBase64String(Archivo.archivo)

            // File.WriteAllBytes(PathFile, scheduled.archivo);

            //// var result = modelo.Execute(mod_pozo.IDMODPOZO,)
        }
Пример #2
0
        public List <string> Monitor(ref string ReturnServ)
        {
            try
            {
                Error = false;
                if (Local)
                {
                    ModeloProsper.Modelo modelo = new ModeloProsper.Modelo();

                    return(modelo.Monitor(ref ReturnServ));
                }
                else
                {
                    var httpClient = new HttpClient();

                    var response = httpClient.GetAsync(EndPointHost.Uri.ToString()).Result;
                    if (response.StatusCode != HttpStatusCode.OK)
                    {
                        throw new Exception($"Unexpected status code: {response.StatusCode}");
                    }

                    return(Server.Monitor(ref ReturnServ));
                }
            }
            catch (Exception ex)
            {
                if (ex.InnerException != null)
                {
                    throw new Exception(ex.InnerException.Message);
                }
                else
                {
                    throw new Exception(ex.Message);
                }
            }
        }
Пример #3
0
        private static bool ExecLocal(Entities_ModeloCI db, VW_MOD_POZO mod_pozo, Modo MError)
        {
            bool response = false;

            ModeloProsper.Logger Logger = new ModeloProsper.Logger(mod_pozo.IDMODPOZO);
            ModeloProsper.Modelo modelo = new ModeloProsper.Modelo(mod_pozo.IDMODPOZO);



            try
            {
                Logger.SetEstatus(2);

                switch (mod_pozo.FUNCION)
                {
                case 1:

                    response = modelo.Sensibilidad_BN();


                    var conds = db.PA_operacionPozosFecha(mod_pozo.IDPOZO).ToList();
                    PA_operacionPozosFecha_Result cond = conds[0];

                    var cabezera = db.CabeceraPozoGBN.Where(w => w.bajaLogica == null && w.idPozo == mod_pozo.IDPOZO).SingleOrDefault();

                    if (response && cabezera != null && cond.FEC_CONDICION == mod_pozo.FECHAMODELO)
                    {
                        var inyeccion = db.DatosInyeccion.Where(w => w.idCabeceraPozoGBN == cabezera.idCabeceraPozoGBN).ToList();


                        inyeccion.ForEach(e => db.DatosInyeccion.Remove(e));
                        db.SaveChanges();


                        var QGI = db.COMPORTAMIENTO_GAS.Where(w => w.IDMODPOZO == mod_pozo.IDMODPOZO).SingleOrDefault();

                        if (QGI != null)
                        {
                            var QGIDetalles = db.COMPORTAMIENTO_GAS_DETALLES.Where(w => w.IDCOMPORTAMIENTOGAS == QGI.IDCOMPORTAMIENTOGAS).OrderBy(o => o.XAUX).ToList();


                            if (QGIDetalles.Count > 0)
                            {
                                foreach (var dt in QGIDetalles)
                                {
                                    db.DatosInyeccion.Add(new DatosInyeccion()
                                    {
                                        idCabeceraPozoGBN = cabezera.idCabeceraPozoGBN, qLiq = dt.YAUX.GetValueOrDefault(), qGasBN = dt.XAUX.GetValueOrDefault()
                                    });                                                                                                                                                                           //Multiplicacion x 1000 fue removida de xaux
                                }
                                db.SaveChanges();
                            }
                        }

                        cabezera.porc_agua     = cond.gastoagua;
                        cabezera.presionCabeza = cond.PRESION_TP.GetValueOrDefault();
                        cabezera.qGasBN        = cond.VOLUMEN_BN.GetValueOrDefault();
                        cabezera.fecha         = cond.FEC_CONDICION.GetValueOrDefault();


                        db.Entry(cabezera).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                    break;

                case 2:
                    response = modelo.Update();
                    break;

                default:

                    response = modelo.Create();


                    break;
                }


                Logger.SetEstatus(3, "Ejecución correcta");

                if (MError == Modo.console)
                {
                    WriteLineText(mod_pozo.POZO + ": Modelo ejecutado correctamente", "success");
                }

                return(response);
            }
            catch (Exception ex)
            {
                if (Logger.Configuracion.ESTATUS == 2)
                {
                    Logger.SetEstatus(-1, ex.Message);
                }

                if ((Logger.Intentos + 1) < Logger.Configuracion.MAXREINTENTOS)
                {
                    modelo.Reset(mod_pozo.IDMODPOZO, 0);
                }

                WriteEventLogEntry(System.Diagnostics.EventLogEntryType.Error, 21, mod_pozo.POZO + ": " + ex.Message, MError);
                return(false);
            }
        }