예제 #1
0
        public static Response <OrdenMasivaResponse> ListTareasPendientes(string are_codigo)
        {
            try
            {
                Response <OrdenMasivaResponse> response;
                List <TareasPendientesList>    List;

                List = TipoMantenimientoData.ListTareasPendientes(are_codigo);

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

                return(response);
            }
            catch (Exception ex)
            {
                return(new Response <OrdenMasivaResponse>(false, null, Functions.MessageError(ex), false));
            }
        }
예제 #2
0
        public static async Task <Response <OrdenMasivaResponse> > InsertPreventivo(OrdenMasivaRequest request)
        {
            Response <OrdenMasivaResponse> response;
            List <OrdenMasivaList>         ListInsertar;
            string                      FechaGenerar;
            decimal                     klm_acumulado;
            DateTime                    fechaRegistro;
            string                      usuarioRegistro;
            string                      are_codigo;
            int                         idMaxRevision;
            int                         idMaxInforme;
            decimal                     idNumInforme;
            InformeEntity               objInforme;
            ProgramacionEntity          objProgramacion;
            List <TareasPendientesList> listTareasPendientes;
            InformeTareasEntity         objInformeTareas;

            ListInsertar    = request.ListInsertar;
            FechaGenerar    = request.FechaGenerar;
            fechaRegistro   = DateTime.Now;
            usuarioRegistro = request.UsuarioRegistro;

            try
            {
                foreach (var item in ListInsertar)
                {
                    if (!item.Correctivo)
                    {
                        continue;
                    }
                    if (item.Preventivo)
                    {
                        continue;
                    }

                    are_codigo    = item.IdUnidad;
                    klm_acumulado = AreData.SelectAre(are_codigo).Klm_Acumulados;
                    idMaxRevision = SolicitudRevisionTecnicaData.ObtenerUltimoId();

                    objInforme = new InformeEntity
                    {
                        Are_Codigo           = item.IdUnidad,
                        ChoferEntrega        = item.IDChofer,
                        KmUnidad             = klm_acumulado,
                        Ofi_Codigo           = Convert.ToInt32(item.CodOrigen).ToString("00#"),
                        Fecha                = Convert.ToDateTime(FechaGenerar),
                        CostoManoObra        = 0,
                        CostoRepuestos       = 0,
                        ServicioTerceros     = 0,
                        Observacion          = "",
                        IdUndAlerta          = 0,
                        IdPlanEjecucionTarea = "",
                        Tipo            = "0",
                        UsuarioRegistro = Convert.ToInt16(usuarioRegistro)
                    };

                    idMaxInforme = InformeData.InsertInforme(objInforme);
                    idNumInforme = Convert.ToDecimal(item.NumeroOrden);

                    objProgramacion = new ProgramacionEntity
                    {
                        CODI_PROGRAMACION  = item.Codi_Programacion,
                        NumeroMantenimieto = idNumInforme.ToString(),
                    };

                    await InformeData.UpdateInforme_NumInforme(idMaxInforme, idNumInforme);

                    await ProgramacionData.UpdateProgramacionOrdenPreventivoGeneracion(objProgramacion);

                    //Tareas pendientes
                    listTareasPendientes = TipoMantenimientoData.ListTareasPendientes(are_codigo);

                    foreach (var itemTareasPendientes in listTareasPendientes)
                    {
                        objInformeTareas = new InformeTareasEntity
                        {
                            FechaInicio     = FechaGenerar,
                            IdInforme       = idMaxInforme,
                            IdTarea         = itemTareasPendientes.IdTarea,
                            Observacion     = "",
                            UsuarioRegistro = Convert.ToInt32(usuarioRegistro)
                        };

                        await InformeTareasData.InsertInformeTareas(objInformeTareas);

                        await InformeTareasData.UpdateInformeTareasKilometraje(idMaxInforme, itemTareasPendientes.IdTarea, itemTareasPendientes.KmtActual);
                    }
                }

                response = new Response <OrdenMasivaResponse>
                {
                    EsCorrecto = true,
                    Valor      = new OrdenMasivaResponse
                    {
                        List = new List <OrdenMasivaList>()
                    },
                    Mensaje = "OK",
                    Estado  = true,
                };

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