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)); } }
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)); } }