Beispiel #1
0
        public int TicketCarProcess(string NotaEstatus)
        {
            #region TicketCarProcess
            int Result;
            using (DbContextTransaction transaction = db.Database.BeginTransaction())
            {
                try
                {
                    Result = StatusProcess.INICIOPROCESO;

                    DateTime DateStart = GetStarDate(NotaEstatus);
                    DateTime DateEnd   = DateTime.Now.AddDays(1);

                    int EstatusLitros      = Convert.ToInt32(NotaEstatus);
                    var LitrosCargadosList = db.LitrosCargados.Where(w => w.OrdenIdentificadorTicket != null &&
                                                                     w.Estatus == EstatusLitros && (w.FechaRegistro >= DateStart && w.FechaRegistro <= DateEnd)).ToList();

                    foreach (var item in LitrosCargadosList)
                    {
                        if (item != null)
                        {
                            Tuple <int, int> EstatusTupla = ObtenerEstatusOrdenNotaVale(item.OrdenIdentificadorTicket.Value);
                            int Estatus = 0;

                            if (EstatusTupla.Item1 != 0)
                            {
                                if (EstatusTupla.Item2 < ConfigurationTicketCar.VECES_UTILIZADAS)
                                {
                                    Tuple <bool, decimal> Transaccion = ObtenerListadoTransacciones(DateStart, DateEnd, item.NumeroTarjetaTicket, item.IdentificadorTicket.Value);

                                    if (Transaccion.Item1 == true && Transaccion.Item2 <= 0)
                                    {
                                        Transaccion = new Tuple <bool, decimal>(false, 0);
                                    }

                                    if (Transaccion.Item1 == true)
                                    {
                                        if (Transaccion.Item2 == item.LitrosSolicitados)
                                        {
                                            Estatus = Convert.ToInt32(AuthorizationStatus.AUTORIZACIONES_UTILIZADAS_TOTALIDAD);
                                        }
                                        else
                                        {
                                            TimeSpan ts = DateTime.Now - item.FechaRegistro.Value;
                                            if (ts.Days >= Configuration.ExpirationDays || EstatusTupla.Item1 == NotaValeEstatus.VENCIDA)
                                            {
                                                Estatus = Convert.ToInt32(AuthorizationStatus.AUTORIZACIONES_VENCIDAS);
                                            }
                                            else if (EstatusTupla.Item1 == NotaValeEstatus.ANULADA)
                                            {
                                                Estatus = Convert.ToInt32(AuthorizationStatus.AUTORIZACIONES_CANCELADAS);
                                            }
                                            else
                                            {
                                                Estatus = Convert.ToInt32(AuthorizationStatus.AUTORIZACIONES_UTILIZADAS_PARCIALMENTE);
                                            }
                                        }

                                        item.LitrosCargados1 = Transaccion.Item2;
                                        item.Estatus         = Estatus;

                                        db.Entry(item).State = EntityState.Modified;
                                        db.SaveChanges();

                                        Result = StatusProcess.EJECUTOPROCESO;
                                    }
                                }
                                else
                                {
                                    TimeSpan ts = DateTime.Now - item.FechaRegistro.Value;
                                    if (ts.Days >= Configuration.ExpirationDays || EstatusTupla.Item1 == NotaValeEstatus.VENCIDA)
                                    {
                                        item.Estatus = Convert.ToInt32(AuthorizationStatus.AUTORIZACIONES_VENCIDAS);

                                        db.Entry(item).State = EntityState.Modified;
                                        db.SaveChanges();

                                        Result = StatusProcess.EJECUTOPROCESO;
                                    }
                                    else if (EstatusTupla.Item1 == NotaValeEstatus.ANULADA)
                                    {
                                        item.Estatus = Convert.ToInt32(AuthorizationStatus.AUTORIZACIONES_CANCELADAS);

                                        db.Entry(item).State = EntityState.Modified;
                                        db.SaveChanges();

                                        Result = StatusProcess.EJECUTOPROCESO;
                                    }
                                }
                            }
                        }
                    }

                    transaction.Commit();
                    return(Result);
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    Result = StatusProcess.ERROR;
                    EnviarCorreoError(ex.Message, "Autorizaciones Notavale Ticket Car");
                    return(Result);
                }
            }
            #endregion
        }
Beispiel #2
0
        public int DispensarioProcess()
        {
            #region DispensarioProcess
            int Result;
            using (DbContextTransaction transaction = db.Database.BeginTransaction())
            {
                try
                {
                    Result = StatusProcess.INICIOPROCESO;

                    List <ObtenerListaSolicitudDispensarioActivas_Result> ListaDispensario = ObtenerListadoDispensario();

                    if (ListaDispensario != null)
                    {
                        foreach (var item in ListaDispensario)
                        {
                            if (item.SolicitudDepositoId.HasValue)
                            {
                                var LitrosCargados = db.LitrosCargados.Where(w => w.SolicitudDepositoId == item.SolicitudDepositoId).FirstOrDefault();

                                if (LitrosCargados != null)
                                {
                                    TimeSpan ts = DateTime.Now - LitrosCargados.FechaRegistro.Value;

                                    if (ts.Days >= Configuration.ExpirationDays)
                                    {
                                        LitrosCargados.Estatus = Convert.ToInt32(AuthorizationStatus.AUTORIZACIONES_VENCIDAS);

                                        db.Entry(LitrosCargados).State = EntityState.Modified;
                                        db.SaveChanges();

                                        db.CancelarSolicitudDispensarioServicio(item.DepositosDieselId);
                                        Result = StatusProcess.INICIOPROCESO;
                                    }
                                }
                            }
                            else if (item.SolicitudDepositoComplementoId.HasValue)
                            {
                                var LitrosCargados = db.LitrosCargados.Where(w => w.SolicitudDepositoComplementoId == item.SolicitudDepositoComplementoId).FirstOrDefault();

                                if (LitrosCargados != null)
                                {
                                    TimeSpan ts = DateTime.Now - LitrosCargados.FechaRegistro.Value;

                                    if (ts.Days >= Configuration.ExpirationDays)
                                    {
                                        LitrosCargados.Estatus = Convert.ToInt32(AuthorizationStatus.AUTORIZACIONES_VENCIDAS);

                                        db.Entry(LitrosCargados).State = EntityState.Modified;
                                        db.SaveChanges();

                                        db.CancelarSolicitudDispensarioServicio(item.DepositosDieselId);
                                        Result = StatusProcess.INICIOPROCESO;
                                    }
                                }
                            }
                            else
                            {
                                TimeSpan ts = DateTime.Now - item.fechaDepositoUTC;

                                if (ts.Days >= Configuration.ExpirationDays)
                                {
                                    db.CancelarSolicitudDispensarioServicio(item.DepositosDieselId);
                                    Result = StatusProcess.INICIOPROCESO;
                                }
                            }
                        }
                    }

                    transaction.Commit();
                    return(Result);
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    EnviarCorreoError(ex.Message, "Problemas Autorizaciones Vencidas Dispensario");
                    Result = StatusProcess.ERROR;
                    return(Result);
                }
            }
            #endregion
        }
Beispiel #3
0
        public int TotalAuthorizationProcess(List <EnergexAuthorizationList> 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 = !String.IsNullOrEmpty(item.MaxLitres.Trim()) ? Convert.ToDecimal(item.MaxLitres.Trim()) : 0;
                                LitrosCargados.Estatus         = Convert.ToInt32(AuthorizationStatus.AUTORIZACIONES_UTILIZADAS_TOTALIDAD);

                                db.Entry(LitrosCargados).State = EntityState.Modified;
                                db.SaveChanges();

                                AutorizacionesEnergex Log = new AutorizacionesEnergex();

                                Log.idTxnEnquiryMaxLoad = item.idTxnEnquiryMaxLoad.Trim();
                                Log.Date         = item.Date;
                                Log.fkIdMerchant = item.fkIdMerchant.Trim();
                                Log.group_member = item.group_member.Trim();
                                Log.orden        = item.orden.Trim();
                                Log.MaxLitres    = !String.IsNullOrEmpty(item.MaxLitres.Trim()) ? item.MaxLitres.Trim() : "El Servicio Energex no trajo los litros cargados";
                                Log.vehicle      = item.vehicle.Trim();
                                Log.comment      = item.comment.Trim();
                                Log.Estatus      = "UTILIZADA TOTAL";

                                db.AutorizacionesEnergex.Add(Log);
                                db.SaveChanges();

                                Result = StatusProcess.EJECUTOPROCESO;
                            }
                        }
                    }

                    transaction.Commit();
                    return(Result);
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    Result = StatusProcess.ERROR;
                    EnviarCorreoError(ex.Message, "Autorizaciones Totales Energex");
                    return(Result);
                }
            }
        }