Пример #1
0
        public static Response <MtbfResponse> ListMtbf_AuxilioMecanico(short anio)
        {
            try
            {
                Response <MtbfResponse>      response;
                List <MTBFEntity>            ListAnterior;
                List <MTBFEntity>            List;
                List <AuxilioMecanicoEntity> ListAuxilioMecanico;
                MTBFEntity objVacio;

                List         = new List <MTBFEntity>();
                ListAnterior = MtbfData.ListMTBF(anio);
                for (int i = 1; i <= 12; i++)
                {
                    var existe = ListAnterior.FirstOrDefault(x => x.NumMes == i);
                    ListAuxilioMecanico = AuxilioMecanicoData.ListAuxilioMecanicoPorAnioMes(anio, (byte)i);
                    var   totalHoras      = ListAuxilioMecanico.Sum(x => ((Convert.ToDateTime(x.Fechahora_fin) - Convert.ToDateTime(x.Fechahora_ini)).TotalHours));
                    short fallasMecanicas = (short)ListAuxilioMecanico.Count();
                    var   mttr            = (ListAuxilioMecanico.Count > 0) ? convertHoraDecimalToString(totalHoras / fallasMecanicas) : "";
                    int   kmPerdidos      = (int)ListAuxilioMecanico.Sum(x => x.Kmt_Perdido);
                    byte  cambioTractos   = (byte)ListAuxilioMecanico.Sum(x => x.CambioTracto);
                    objVacio = new MTBFEntity
                    {
                        Anio            = anio,
                        Bam             = 0,
                        ViajeEnHoras    = 0,
                        HorasDia        = 0,
                        DiasMes         = (existe != null) ? existe.DiasMes : (byte)DateTime.DaysInMonth(anio, i),
                        Viajes          = (existe != null) ? existe.Viajes : (short)0,
                        FallasMecanicas = fallasMecanicas,
                        TotalHoras      = convertHoraDecimalToString(totalHoras),
                        MTTR            = mttr,
                        MetaMTBF        = (existe != null) ? existe.MetaMTBF : (short)0,
                        KmPerdidos      = kmPerdidos,
                        Meta            = (existe != null) ? existe.Meta : 0,
                        CambioTractos   = cambioTractos,
                        NombreMes       = Functions.NombreMes(i),
                        NumMes          = (byte)i
                    };
                    List.Add(objVacio);
                }

                response = new Response <MtbfResponse>
                {
                    EsCorrecto = true,
                    Valor      = new MtbfResponse {
                        List = List
                    },
                    Mensaje = "OK",
                    Estado  = true,
                };

                return(response);
            }
            catch (Exception ex)
            {
                return(new Response <MtbfResponse>(false, null, Functions.MessageError(ex), false));
            }
        }
Пример #2
0
        public static Response <MtbfResponse> ListMtbf(short anio)
        {
            try
            {
                Response <MtbfResponse> response;
                List <MTBFEntity>       ListAnterior;
                List <MTBFEntity>       List;
                MTBFEntity objVacio;
                decimal    Bam;
                short      ViajeEnHoras;
                byte       HorasDia;

                List         = new List <MTBFEntity>();
                ListAnterior = MtbfData.ListMTBF(anio);

                if (ListAnterior.Count > 0)
                {
                    Bam          = ListAnterior[0].Bam;
                    HorasDia     = ListAnterior[0].HorasDia;
                    ViajeEnHoras = ListAnterior[0].ViajeEnHoras;
                }
                else
                {
                    Bam          = 0;
                    HorasDia     = 0;
                    ViajeEnHoras = 0;
                }

                for (int i = 1; i <= 12; i++)
                {
                    var existe = ListAnterior.FirstOrDefault(x => x.NumMes == i);
                    if (existe != null)
                    {
                        List.Add(existe);
                    }
                    else
                    {
                        objVacio = new MTBFEntity
                        {
                            Anio          = anio,
                            Bam           = 0,
                            CambioTractos = 0,
                            DiasMes       = (byte)DateTime.DaysInMonth(anio, i),
                            IdMtbf        = 0,
                            NombreMes     = Functions.NombreMes(i),
                            NumMes        = (byte)i,
                        };
                        List.Add(objVacio);
                    }
                }

                response = new Response <MtbfResponse>
                {
                    EsCorrecto = true,
                    Valor      = new MtbfResponse
                    {
                        List         = List,
                        Bam          = Bam,
                        HorasDia     = HorasDia,
                        ViajeEnHoras = ViajeEnHoras
                    },
                    Mensaje = "OK",
                    Estado  = true,
                };

                return(response);
            }
            catch (Exception ex)
            {
                return(new Response <MtbfResponse>(false, null, Functions.MessageError(ex), false));
            }
        }