public Service() { InitializeComponent(); Process = new Timer(); EnergexService = new SP4GLwsService(); // Process.Interval = Configuration.TIME * Convert.ToInt32(TimeAppConfig); Process.Interval = Configuration.TIME * 0.1; Process.Elapsed += Process_Elapsed; }
private bool CancelationProcess(string Folio, int?NumEmpleadoMexLog) { bool Result = false; SP4GLwsService Servicio = new SP4GLwsService(); if (NumEmpleadoMexLog.HasValue) { string request = "com.spinvent.gascard.dbobj.Txnenquirymaxload;cancelacion_vale;Cliente;" + Configuration.USERNAME + ";Contraseña;" + Configuration.PASS + ";Folio;" + Folio + ";usuario_cliente;" + Convert.ToString(NumEmpleadoMexLog) + ";"; var response = Servicio.executeProcedureDevice(Configuration.USERNAME, Configuration.PASS, Configuration.DEVICE, request); if (response != string.Empty) { var registro = response.Split(';'); int arrayIndex = 0; if (registro[arrayIndex] == "0") { Result = true; } } } return(Result); }
public int PartialAuthorizationProcess(List <EnergexPartialAuthorizationList> List) { int Result; using (DbContextTransaction transaction = db.Database.BeginTransaction()) { try { Result = StatusProcess.INICIOPROCESO; foreach (var item in List) { if (item.orden != null) { int Estatus = Convert.ToInt32(AuthorizationStatus.AUTORIZACIONES_VALIDAS); var LitrosCargados = db.LitrosCargados.Where(w => w.FolioEnergex == item.orden.Trim() && w.Estatus == Estatus).FirstOrDefault(); if (LitrosCargados != null) { LitrosCargados.LitrosCargados1 = Convert.ToDecimal(item.Litres.Trim()); decimal?LitrosRestantes = LitrosCargados.LitrosSolicitados - LitrosCargados.LitrosCargados1; string EstatusComentario = string.Empty; if (LitrosRestantes <= Configuration.LITROMINIMO) { LitrosCargados.Estatus = Convert.ToInt32(AuthorizationStatus.AUTORIZACIONES_UTILIZADAS_TOTALIDAD); Estatus = Convert.ToInt32(AuthorizationStatus.AUTORIZACIONES_UTILIZADAS_TOTALIDAD); EstatusComentario = "AUTORIZACION PARCIAL ES MENOR A 1 LITRO"; } else { int? NumEmpleadoMexLog = db.EmpleadoEnergex.Where(w => w.NumEmpleadoEnergex == LitrosCargados.NumeroEmpleadoEnergex).Select(s => s.NumEmpleadoMexLog).FirstOrDefault(); string NumEmpleadoEnergex = LitrosCargados.NumeroEmpleadoEnergex; LitrosCargados.Estatus = Convert.ToInt32(AuthorizationStatus.AUTORIZACIONES_UTILIZADAS_PARCIALMENTE); string Folio = db.LitrosCargados.OrderByDescending(o => o.FolioEnergex).Select(s => s.FolioEnergex).Take(1).FirstOrDefault(); Folio = FolioGenerator(Folio); DateTime FechaVencimiento = DateTime.Now.AddDays(Configuration.ExpirationDays); string Comentario = string.Empty; if (LitrosCargados.SolicitudDepositoId != null) { int numeroviaje = 0; numeroviaje = db.SolicitudDeposito.Where(w => w.SolicitudDepositoId == LitrosCargados.SolicitudDepositoId) .Select(s => s.ClaveCarga).FirstOrDefault(); Comentario = Configuration.COMMENT + numeroviaje + "."; } if (LitrosCargados.SolicitudDepositoTraficoId != null) { string FolioOrden = string.Empty; int Id = 0; Id = db.SolicitudDepositoTraficoDiesel.Where(w => w.SolicitudDepositoDieselId == LitrosCargados.SolicitudDepositoTraficoId) .Select(s => s.SolicitudDepositoId).FirstOrDefault(); FolioOrden = db.SolicitudDepositoTrafico.Where(w => w.SolicitudDepositoId == Id) .Select(s => s.FolioOrden).FirstOrDefault(); Comentario = Configuration.COMMENT + FolioOrden + "."; } if (LitrosCargados.SolicitudDepositoComplementoId != null) { int Id = 0; int clavecarga = 0; Id = db.SolicitudDepositoComplemento.Where(w => w.SolicitudDepositoComplementoId == LitrosCargados.SolicitudDepositoComplementoId) .Select(s => s.SolicitudDepositoId).FirstOrDefault(); clavecarga = db.SolicitudDeposito.Where(w => w.SolicitudDepositoId == Id) .Select(s => s.ClaveCarga).FirstOrDefault(); Comentario = Configuration.COMMENT + clavecarga + "."; } if (LitrosCargados.MovimientoExternoId != null) { Comentario = "Se realizo autorizacion de combustible desdes el servicio, Movimiento Externo con Folio: " + Folio; } SP4GLwsService Servicio = new SP4GLwsService(); string request = "com.spinvent.gascard.dbobj.Txnenquirymaxload;registro_autorizacion;Cliente;" + Configuration.USERNAME + ";Contraseña;" + Configuration.PASS + ";usuario_energex;" + NumEmpleadoEnergex + ";Litros;" + Convert.ToString(LitrosRestantes) + ";Folio;" + Folio + ";Estacion;;FechaValidez;" + String.Format("{0:yyyy-MM-dd HH:mm:ss}", FechaVencimiento) + ";usuario_cliente;" + Convert.ToString(NumEmpleadoMexLog) + ";Producto;" + item.fkIdProduct + ";Comentario;" + Comentario + ";"; var response = Servicio.executeProcedureDevice(Configuration.USERNAME, Configuration.PASS, Configuration.DEVICE, request); if (response != string.Empty) { var registro = response.Split(';'); int arrayIndex = 0; if (registro[arrayIndex] == "0") { LitrosCargados Cargados = new LitrosCargados(); if (LitrosCargados.SolicitudDepositoId != null) { Cargados.SolicitudDepositoId = LitrosCargados.SolicitudDepositoId; } if (LitrosCargados.SolicitudDepositoTraficoId != null) { Cargados.SolicitudDepositoTraficoId = LitrosCargados.SolicitudDepositoTraficoId; } if (LitrosCargados.SolicitudDepositoComplementoId != null) { Cargados.SolicitudDepositoComplementoId = LitrosCargados.SolicitudDepositoComplementoId; } if (LitrosCargados.MovimientoExternoId != null) { Cargados.MovimientoExternoId = LitrosCargados.MovimientoExternoId; } Cargados.FolioEnergex = Folio; Cargados.LitrosSolicitados = LitrosRestantes; Cargados.LitrosCargados1 = 0; Cargados.Estatus = Convert.ToInt32(AuthorizationStatus.AUTORIZACIONES_VALIDAS); Cargados.NumeroEmpleadoEnergex = NumEmpleadoEnergex; Cargados.FechaRegistro = DateTime.Now; db.LitrosCargados.Add(Cargados); db.SaveChanges(); EstatusComentario = "AUTORIZACION PARCIAL, GENERO OTRA AUTORIZACION LITROS " + LitrosRestantes.ToString(); } else { EstatusComentario = "AUTORIZACION PARCIAL NO GENERO OTRA AUTORIZACION POR EL ERROR: " + registro[1]; } } else { EstatusComentario = "AUTORIZACION PARCIAL PROBLEMAS CON EL SERVICIO NO RESPONDE PARA GENERAR OTRA AUTORIZACION"; } } db.Entry(LitrosCargados).State = EntityState.Modified; db.SaveChanges(); AutorizacionesParcialesEnergex Log = new AutorizacionesParcialesEnergex(); Log.idTxnPurchaseCashCard = item.idTxnPurchaseCashCard.Trim(); Log.Date = item.Date; Log.fkIdMerchant = item.fkIdMerchant.Trim(); Log.fkIdTerminal = item.fkIdTerminal.Trim(); Log.fkIdProduct = item.fkIdProduct.Trim(); Log.Amount = item.Amount.Trim(); Log.LicensePlate = item.LicensePlate.Trim(); Log.Litres = item.Litres.Trim(); Log.Kms = item.Kms.Trim(); Log.ProductUnitPrice = item.ProductUnitPrice.Trim(); Log.AuthNum = item.AuthNum.Trim(); Log.orden = item.orden.Trim(); Log.Estatus = EstatusComentario; db.AutorizacionesParcialesEnergex.Add(Log); db.SaveChanges(); Result = StatusProcess.EJECUTOPROCESO; } } } transaction.Commit(); return(Result); } catch (Exception ex) { transaction.Rollback(); Result = StatusProcess.ERROR; EnviarCorreoError(ex.Message, "Autorizaciones Parciales Energex"); return(Result); } } }