public static async Task <int> InsertMTBF(MTBFEntity objEntidad) { int nuevoId = 0; try { using (SqlConnection con = GetConnection.BDALMACEN()) { bool openConn = (con.State == ConnectionState.Open); if (!openConn) { con.Open(); } using (SqlCommand cmd = new SqlCommand("usp_INS_tb_MTBF", con)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@pBam", SqlDbType.Decimal).Value = objEntidad.Bam; cmd.Parameters.Add("@pViajeEnHoras", SqlDbType.SmallInt).Value = objEntidad.ViajeEnHoras; cmd.Parameters.Add("@pHorasDia", SqlDbType.TinyInt).Value = objEntidad.HorasDia; cmd.Parameters.Add("@pAnio", SqlDbType.SmallInt).Value = objEntidad.Anio; cmd.Parameters.Add("@pNumMes", SqlDbType.TinyInt).Value = objEntidad.NumMes; cmd.Parameters.Add("@pDiasMes", SqlDbType.TinyInt).Value = objEntidad.DiasMes; cmd.Parameters.Add("@pViajes", SqlDbType.SmallInt).Value = objEntidad.Viajes; cmd.Parameters.Add("@pFallasMecanicas", SqlDbType.SmallInt).Value = objEntidad.FallasMecanicas; cmd.Parameters.Add("@pTotalHoras", SqlDbType.VarChar).Value = Functions.Check.Cadena(objEntidad.TotalHoras); cmd.Parameters.Add("@pMTTR", SqlDbType.VarChar).Value = Functions.Check.Cadena(objEntidad.MTTR); cmd.Parameters.Add("@pMetaMTBF", SqlDbType.SmallInt).Value = objEntidad.MetaMTBF; cmd.Parameters.Add("@pMTBFHorasTotales", SqlDbType.SmallInt).Value = objEntidad.MTBFHorasTotales; cmd.Parameters.Add("@pMTBFDiario", SqlDbType.SmallInt).Value = objEntidad.MTBFDiario; cmd.Parameters.Add("@pMTBFViajes", SqlDbType.SmallInt).Value = objEntidad.MTBFViajes; cmd.Parameters.Add("@pKmPerdidos", SqlDbType.Int).Value = objEntidad.KmPerdidos; cmd.Parameters.Add("@pMeta", SqlDbType.Decimal).Value = objEntidad.Meta; cmd.Parameters.Add("@pEficiencia", SqlDbType.Decimal).Value = objEntidad.Eficiencia; cmd.Parameters.Add("@pCambioTractos", SqlDbType.TinyInt).Value = objEntidad.CambioTractos; cmd.Parameters.Add("@pDisponibilidadMecanica", SqlDbType.Decimal).Value = objEntidad.DisponibilidadMecanica; cmd.Parameters.Add("@pDisponibilidadFlota", SqlDbType.Decimal).Value = objEntidad.DisponibilidadFlota; cmd.Parameters.Add("@pFechaHoraRegistro", SqlDbType.DateTime).Value = objEntidad.FechaHoraRegistro; cmd.Parameters.Add("@pUsuarioRegistro", SqlDbType.VarChar).Value = objEntidad.UsuarioRegistro; cmd.Parameters.Add("@pIdMtbf", SqlDbType.Int).Value = 0; cmd.Parameters["@pIdMtbf"].Direction = ParameterDirection.Output; await cmd.ExecuteNonQueryAsync(); nuevoId = Convert.ToInt32(cmd.Parameters["@pIdMtbf"].Value); cmd.Dispose(); } if (con.State == ConnectionState.Open) { con.Close(); } } } catch (Exception ex) { throw new Exception(ex.Message); } return(nuevoId); }
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)); } }