public static Response <AuxilioMecanicoResponse> SelectAuxilioMecanico(int ID_Tb_AuxilioMecanico)
        {
            try
            {
                Response <AuxilioMecanicoResponse> response;
                AuxilioMecanicoEntity List;

                List = AuxilioMecanicoData.SelectAuxilioMecanico(ID_Tb_AuxilioMecanico);

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

                return(response);
            }
            catch (Exception ex)
            {
                return(new Response <AuxilioMecanicoResponse>(false, null, Functions.MessageError(ex), false));
            }
        }
        public static async Task <Response <AuxilioMecanicoResponse> > UpdateAuxilioMecanico(AuxilioMecanicoRequest request)
        {
            Response <AuxilioMecanicoResponse> response;
            AuxilioMecanicoEntity objAuxilioMecanico;

            try
            {
                objAuxilioMecanico = request.AuxilioMecanico;
                objAuxilioMecanico = await AuxilioMecanicoData.UpdateAuxilioMecanico(objAuxilioMecanico);

                response = new Response <AuxilioMecanicoResponse>
                {
                    EsCorrecto = true,
                    Valor      = new AuxilioMecanicoResponse
                    {
                        AuxilioMecanico = objAuxilioMecanico
                    },
                    Mensaje = "OK",
                    Estado  = true,
                };

                return(response);
            }
            catch (FaultException <ServiceError> )
            {
                throw;
            }
            catch (Exception ex)
            {
                return(new Response <AuxilioMecanicoResponse>(false, null, Functions.MessageError(ex), false));
            }
        }
        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 <AuxilioMecanicoResponse> ListAuxilioMecanico(AuxilioMecanicoRequest request)
        {
            try
            {
                Response <AuxilioMecanicoResponse> response;
                List <AuxilioMecanicoList>         List;
                AuxilioMecanicoFilter objFiltro;
                DateTime fechaHoraIni;
                DateTime fechaHoraFin;

                objFiltro = request.Filtro;
                if (objFiltro.FechaInicio == "")
                {
                    objFiltro.FechaInicio = DateTime.Now.ToShortDateString();
                }
                if (objFiltro.FechaFin == "")
                {
                    objFiltro.FechaFin = DateTime.Now.AddDays(1).ToShortDateString();
                }
                if (objFiltro.Are_codigo == null)
                {
                    objFiltro.Are_codigo = "";
                }
                if (objFiltro.FechaFin == null)
                {
                    objFiltro.FechaFin = "";
                }

                fechaHoraIni = DateTime.Parse(objFiltro.FechaInicio);
                fechaHoraFin = DateTime.Parse(objFiltro.FechaFin);

                List = AuxilioMecanicoData.ListAuxilioMecanico(fechaHoraIni, fechaHoraFin, objFiltro.Are_codigo, objFiltro.Ben_codigo);

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

                return(response);
            }
            catch (Exception ex)
            {
                return(new Response <AuxilioMecanicoResponse>(false, null, Functions.MessageError(ex), false));
            }
        }
        public static async Task <Response <AuxilioMecanicoResponse> > DeleteAuxilioMecanico(int ID_Tb_AuxilioMecanico)
        {
            Response <AuxilioMecanicoResponse> response;
            AuxilioMecanicoEntity objAuxilioMecanico;

            try
            {
                objAuxilioMecanico = await AuxilioMecanicoData.DeleteAuxilioMecanico(ID_Tb_AuxilioMecanico);

                if (objAuxilioMecanico != null)
                {
                    BusinessException.Generar(Constants.NO_ELIMINO);
                }

                response = new Response <AuxilioMecanicoResponse>
                {
                    EsCorrecto = true,
                    Valor      = new AuxilioMecanicoResponse
                    {
                        AuxilioMecanico = objAuxilioMecanico
                    },
                    Mensaje = "OK",
                    Estado  = true,
                };

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