public bool Insertar(BE_PRO_SOLICITUDTAREASDIVERSAS entSolicitud, List <BE_PRO_SOLICITUDTAREASDIVERSASCAB> LstSolicitudCab, List <BE_PRO_SOLICITUDTAREASDIVERSASDET> LstSolicitudDet)
        {
            CD_pro_solicitudtareasdiversas miFun = new CD_pro_solicitudtareasdiversas();
            bool booOk = false;

            miFun.mysConec = mysConec;
            booOk          = miFun.Insertar(entSolicitud, LstSolicitudCab, LstSolicitudDet);
            if (booOk == true)
            {
                // ACTUALIZAMOS EL ESTADO DE TAREA EN PRODUCCION PARA QUE NO VUELVA A GENERAR TAREAS A LA PRODUCCION
                CD_pro_produccion xFun = new CD_pro_produccion();

                xFun.mysConec = mysConec;
                booOk         = xFun.ActualizarEstadoTarea(entSolicitud.n_idpro, 2);

                if (booOk == false)
                {
                    b_OcurrioError = xFun.booOcurrioError;
                    c_ErrorMensaje = xFun.StrErrorMensaje;
                    n_ErrorNumber  = xFun.IntErrorNumber;
                }
            }
            else
            {
                b_OcurrioError = miFun.b_OcurrioError;
                c_ErrorMensaje = miFun.c_ErrorMensaje;
                n_ErrorNumber  = miFun.n_ErrorNumber;
            }
            return(booOk);
        }
        public bool Actualizar(BE_PRO_SOLICITUDTAREASDIVERSAS entSolicitud, List <BE_PRO_SOLICITUDTAREASDIVERSASCAB> LstSolicitudCab, List <BE_PRO_SOLICITUDTAREASDIVERSASDET> LstSolicitudDet)
        {
            CD_pro_solicitudtareasdiversas miFun = new CD_pro_solicitudtareasdiversas();
            bool booOk = false;

            miFun.mysConec = mysConec;
            booOk          = miFun.Actualizar(entSolicitud, LstSolicitudCab, LstSolicitudDet);

            b_OcurrioError = miFun.b_OcurrioError;
            c_ErrorMensaje = miFun.c_ErrorMensaje;
            n_ErrorNumber  = miFun.n_ErrorNumber;

            return(booOk);
        }
예제 #3
0
        public bool Insertar(BE_PRO_SOLICITUDTAREASDIVERSAS entSolicitud, List <BE_PRO_SOLICITUDTAREASDIVERSASCAB> LstSolicitudCab, List <BE_PRO_SOLICITUDTAREASDIVERSASDET> LstSolicituDet)
        {
            bool       booOk      = false;
            DatosMySql xMiFuncion = new DatosMySql();
            int        n_row      = 0;
            int        n_row3     = 0;

            if (xMiFuncion.StoreEjecutar("pro_solicitudtareasdiversas_insertar", entSolicitud, mysConec, 1) == true)
            {
                entSolicitud.n_id = Convert.ToInt32(xMiFuncion.intIdGenerado);
                for (n_row = 0; n_row <= LstSolicitudCab.Count - 1; n_row++)
                {
                    LstSolicitudCab[n_row].n_idsol = entSolicitud.n_id;
                    if (xMiFuncion.StoreEjecutar("pro_solicitudtareasdiversascab_insertar", LstSolicitudCab[n_row], mysConec, 1) == true)
                    {
                        // INSERTAMOS LAS PERSONAS ASIGNADAS PARA LA TAREA
                        for (n_row3 = 0; n_row3 <= LstSolicituDet.Count - 1; n_row3++)
                        {
                            if (LstSolicituDet[n_row3].n_idsoltar == LstSolicitudCab[n_row].n_idtar)
                            {
                                LstSolicituDet[n_row3].n_idsol = LstSolicitudCab[n_row].n_idsol;
                                if (xMiFuncion.StoreEjecutar("pro_solicitudtareasdiversasdet_insertar", LstSolicituDet[n_row3], mysConec, null) == false)
                                {
                                    b_OcurrioError = xMiFuncion.booOcurrioError;
                                    c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                                    n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                                    return(booOk);
                                }
                            }
                        }
                    }
                    else
                    {
                        b_OcurrioError = xMiFuncion.booOcurrioError;
                        c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                        n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                        break;
                    }
                    booOk = true;
                }
            }
            else
            {
                b_OcurrioError = xMiFuncion.booOcurrioError;
                c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                n_ErrorNumber  = xMiFuncion.IntErrorNumber;
            }

            return(booOk);
        }
        public bool ELiminar(int n_Idregistro)
        {
            DataTable dtResult = new DataTable();
            bool      b_result = false;
            CN_pro_solicitudtareasdiversas xFun2 = new CN_pro_solicitudtareasdiversas();
            CD_pro_produccion xFun3 = new CD_pro_produccion();
            CD_pro_solicitudtareasdiversas miFun = new CD_pro_solicitudtareasdiversas();

            // TRAEMOS EL REGISTRO PARA OBTENER EL ID DE LA PRODUCCION
            xFun2.mysConec = mysConec;
            xFun2.TraerRegistro(n_Idregistro);
            entSolicitud = xFun2.entSolicitud;


            miFun.mysConec = mysConec;

            b_result = miFun.Eliminar(n_Idregistro);
            if (b_result == true)
            {
                // ACTUALIZAMOS EL ESTADO DE TAREA EN PRODUCCION PARA QUE SE PUEDA GENERAR TAREAS A LA PRODUCCION

                xFun3.mysConec = mysConec;
                b_result       = xFun3.ActualizarEstadoTarea(entSolicitud.n_idpro, 1);

                if (b_result == false)
                {
                    b_OcurrioError = xFun3.booOcurrioError;
                    c_ErrorMensaje = xFun3.StrErrorMensaje;
                    n_ErrorNumber  = xFun3.IntErrorNumber;
                }
            }
            else
            {
                b_OcurrioError = miFun.b_OcurrioError;
                c_ErrorMensaje = miFun.c_ErrorMensaje;
                n_ErrorNumber  = miFun.n_ErrorNumber;
                return(b_result);
            }

            return(b_result);
        }
        public bool TraerRegistro(int n_Idregistro)
        {
            int       n_row                      = 0;
            bool      b_result                   = false;
            DataTable dtResult                   = new DataTable();
            DataTable dtResultLis                = new DataTable();
            DataTable dtResultLisPer             = new DataTable();
            CD_pro_solicitudtareasdiversas miFun = new CD_pro_solicitudtareasdiversas();

            lstSolicitudCab.Clear();
            lstSolicitudDet.Clear();

            miFun.mysConec = mysConec;
            b_result       = miFun.TraerRegistro(n_Idregistro);
            if (b_result == true)
            {
                dtResult       = miFun.dtRegistro;
                dtResultLis    = miFun.dtRegistroDet;
                dtResultLisPer = miFun.dtRegistroDetPer;

                BE_PRO_SOLICITUDTAREASDIVERSAS entTmp = new BE_PRO_SOLICITUDTAREASDIVERSAS();

                entTmp.n_idemp    = Convert.ToInt32(dtResult.Rows[0]["n_idemp"]);
                entTmp.n_id       = Convert.ToInt32(dtResult.Rows[0]["n_id"]);
                entTmp.n_idpro    = Convert.ToInt32(dtResult.Rows[0]["n_idpro"]);
                entTmp.n_idtipdoc = Convert.ToInt32(dtResult.Rows[0]["n_idtipdoc"]);
                entTmp.c_numser   = dtResult.Rows[0]["c_numser"].ToString();
                entTmp.c_numdoc   = dtResult.Rows[0]["c_numdoc"].ToString();
                entTmp.d_fchreg   = Convert.ToDateTime(dtResult.Rows[0]["d_fchreg"]);
                entTmp.n_idsol    = Convert.ToInt32(dtResult.Rows[0]["n_idsol"]);

                if (funFunciones.NulosC(dtResult.Rows[0]["d_fchejetar"]) != "")
                {
                    entTmp.d_fchejetar = Convert.ToDateTime(dtResult.Rows[0]["d_fchejetar"]);
                }
                else
                {
                    entTmp.d_fchejetar = null;
                }
                entTmp.c_obs     = dtResult.Rows[0]["c_obs"].ToString();
                entTmp.n_idlocal = Convert.ToInt32(dtResult.Rows[0]["n_idlocal"]);
                entSolicitud     = entTmp;

                dtResultLis = funDatos.DataTableOrdenar(dtResultLis, "n_ord");

                for (n_row = 0; n_row <= dtResultLis.Rows.Count - 1; n_row++)
                {
                    BE_PRO_SOLICITUDTAREASDIVERSASCAB entTmpDet = new BE_PRO_SOLICITUDTAREASDIVERSASCAB();

                    entTmpDet.n_idsol  = Convert.ToInt32(dtResultLis.Rows[n_row]["n_idsol"]);
                    entTmpDet.n_id     = Convert.ToInt32(dtResultLis.Rows[n_row]["n_id"]);
                    entTmpDet.n_idtar  = Convert.ToInt32(dtResultLis.Rows[n_row]["n_idtar"]);
                    entTmpDet.n_can    = Convert.ToDouble(dtResultLis.Rows[n_row]["n_can"]);
                    entTmpDet.h_horini = dtResultLis.Rows[n_row]["h_horini"].ToString();
                    entTmpDet.h_horfin = dtResultLis.Rows[n_row]["h_horfin"].ToString();
                    entTmpDet.n_numper = Convert.ToInt32(dtResultLis.Rows[n_row]["n_numper"]);
                    entTmpDet.n_costar = Convert.ToDouble(dtResultLis.Rows[n_row]["n_costar"]);
                    entTmpDet.n_ord    = Convert.ToInt32(dtResultLis.Rows[n_row]["n_ord"]);
                    if (funFunciones.NulosC(dtResultLis.Rows[n_row]["d_fchtra"]) != "")
                    {
                        entTmpDet.d_fchtra = Convert.ToDateTime(dtResultLis.Rows[n_row]["d_fchtra"]);
                    }
                    lstSolicitudCab.Add(entTmpDet);
                }

                for (n_row = 0; n_row <= dtResultLisPer.Rows.Count - 1; n_row++)
                {
                    BE_PRO_SOLICITUDTAREASDIVERSASDET entTmpDetPer = new BE_PRO_SOLICITUDTAREASDIVERSASDET();

                    entTmpDetPer.n_idsol        = Convert.ToInt32(dtResultLisPer.Rows[n_row]["n_idsol"]);
                    entTmpDetPer.n_idsoltar     = Convert.ToInt32(dtResultLisPer.Rows[n_row]["n_idsoltar"]);
                    entTmpDetPer.n_idper        = Convert.ToInt32(dtResultLisPer.Rows[n_row]["n_idper"]);
                    entTmpDetPer.n_can          = Convert.ToDouble(dtResultLisPer.Rows[n_row]["n_can"]);
                    entTmpDetPer.c_obs          = funFunciones.NulosC(dtResultLisPer.Rows[n_row]["c_obs"]);
                    entTmpDetPer.c_horini       = funFunciones.NulosC(dtResultLisPer.Rows[n_row]["c_horini"]);
                    entTmpDetPer.c_horter       = funFunciones.NulosC(dtResultLisPer.Rows[n_row]["c_horter"]);
                    entTmpDetPer.c_numhortra    = funFunciones.NulosC(dtResultLisPer.Rows[n_row]["c_numhortra"]);
                    entTmpDetPer.n_numhortra    = Convert.ToDouble(dtResultLisPer.Rows[n_row]["n_numhortra"]);
                    entTmpDetPer.n_canmaxpro    = Convert.ToDouble(dtResultLisPer.Rows[n_row]["n_canmaxpro"]);
                    entTmpDetPer.n_preunipro    = Convert.ToDouble(dtResultLisPer.Rows[n_row]["n_preunipro"]);
                    entTmpDetPer.n_prehorpag    = Convert.ToDouble(dtResultLisPer.Rows[n_row]["n_prehorpag"]);
                    entTmpDetPer.n_imppaghrstra = Convert.ToDouble(dtResultLisPer.Rows[n_row]["n_imppaghrstra"]);
                    entTmpDetPer.n_subsidio     = Convert.ToDouble(dtResultLisPer.Rows[n_row]["n_subsidio"]);

                    //entTmpDetPer.n_pretar = Convert.ToDouble(dtResultLisPer.Rows[n_row]["n_pretar"]);
                    //entTmpDetPer.n_imptot = Convert.ToDouble(dtResultLisPer.Rows[n_row]["n_imptot"]);
                    //entTmpDetPer.n_numhortra = Convert.ToDouble(dtResultLisPer.Rows[n_row]["n_numhortra"]);
                    //entTmpDetPer.c_numhortra = funFunciones.NulosC(dtResultLisPer.Rows[n_row]["c_numhortra"]);
                    //entTmpDetPer.n_canhorper = Convert.ToDouble(dtResultLisPer.Rows[n_row]["n_canhorper"]);
                    //entTmpDetPer.n_canhorpermax = Convert.ToDouble(dtResultLisPer.Rows[n_row]["n_canhorpermax"]);
                    //entTmpDetPer.n_preunidad = Convert.ToDouble(dtResultLisPer.Rows[n_row]["n_preunidad"]);
                    //entTmpDetPer.n_pagocal = Convert.ToDouble(dtResultLisPer.Rows[n_row]["n_pagocal"]);
                    //entTmpDetPer.n_pagproyhor = Convert.ToDouble(dtResultLisPer.Rows[n_row]["n_pagproyhor"]);
                    //entTmpDetPer.n_subsidio = Convert.ToDouble(dtResultLisPer.Rows[n_row]["n_subsidio"]);

                    lstSolicitudDet.Add(entTmpDetPer);
                }
            }
            else
            {
                b_OcurrioError = miFun.b_OcurrioError;
                c_ErrorMensaje = miFun.c_ErrorMensaje;
                n_ErrorNumber  = miFun.n_ErrorNumber;
            }
            return(b_result);
        }
예제 #6
0
        public bool Actualizar(BE_PRO_SOLICITUDTAREASDIVERSAS entSolicitud, List <BE_PRO_SOLICITUDTAREASDIVERSASCAB> LstSolicitudCab, List <BE_PRO_SOLICITUDTAREASDIVERSASDET> LstSolicituDet)
        {
            bool       booOk       = false;
            DatosMySql xMiFuncion  = new DatosMySql();
            int        n_row       = 0;
            int        n_row2      = 0;
            int        n_row3      = 0;
            bool       b_actualizo = false;
            DataTable  dtTareas    = new DataTable();
            CD_pro_solicitudtareasdiversas funProSol = new CD_pro_solicitudtareasdiversas();

            xMiFuncion.ReAbrirConeccion(mysConec);
            funProSol.mysConec = mysConec;
            funProSol.TraerRegistro(entSolicitud.n_id);
            dtTareas = funProSol.dtRegistroDet;

            string[,] arrParametros = new string[1, 3] {
                { "n_idsol", "System.INT64", entSolicitud.n_id.ToString() }
            };

            if (xMiFuncion.StoreEjecutar("pro_solicitudtareasdiversasdet_delete", arrParametros, mysConec) == true)
            {
                bool b_econtro = false;
                // ACTUALIZAMOS LA CABECERA DE LA SOLICITUD DE MATERIALES
                if (xMiFuncion.StoreEjecutar("pro_solicitudtareasdiversas_actualizar", entSolicitud, mysConec, null) == true)
                {
                    //ELIMINAMOS LAS TAREAS QUE HAYAN SIDO ELIMINADAS EN EL EL FORMULARIO
                    for (n_row = 0; n_row <= dtTareas.Rows.Count - 1; n_row++)
                    {
                        b_econtro = false;
                        for (n_row2 = 0; n_row2 <= LstSolicitudCab.Count - 1; n_row2++)
                        {
                            if (LstSolicitudCab[n_row2].n_idtar == Convert.ToInt32(dtTareas.Rows[n_row]["n_idtar"]))
                            {
                                b_econtro = true;
                                break;
                            }
                        }
                        if (b_econtro == false)
                        {
                            string[,] arrParametros3 = new string[2, 3] {
                                { "n_idsol", "System.INT64", dtTareas.Rows[n_row]["n_idsol"].ToString() },
                                { "n_idtar", "System.INT64", dtTareas.Rows[n_row]["n_idtar"].ToString() }
                            };
                            if (xMiFuncion.StoreEjecutar("pro_solicitudtareasdiversascab_eliminartarea", arrParametros3, mysConec) == false)
                            {
                                b_OcurrioError = xMiFuncion.booOcurrioError;
                                c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                                n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                                return(booOk);
                            }
                        }
                    }

                    // INSERTAMOS LAS TAREAS DE LA SOLICITUD DE TAREAS
                    for (n_row = 0; n_row <= LstSolicitudCab.Count - 1; n_row++)
                    {
                        // RECORREMOS LAS TAREAS ORIGINALES PARA VER SI HA OCURRIDO VARIACION
                        b_actualizo = false;                                                        // ESTA VARIABLE ES PARA SABER SI SE ACTUALIZA LA TAREA DE LA LISTA
                        for (n_row2 = 0; n_row2 <= dtTareas.Rows.Count - 1; n_row2++)
                        {
                            if (LstSolicitudCab[n_row].n_id == Convert.ToInt32(dtTareas.Rows[n_row2]["n_id"]))
                            {
                                // SI LOS ID COINCIDEN ACTUALIZAMOS LAS TAREA
                                if (xMiFuncion.StoreEjecutar("pro_solicitudtareasdiversascab_actualizar", LstSolicitudCab[n_row], mysConec, null) == true)
                                {
                                    for (n_row3 = 0; n_row3 <= LstSolicituDet.Count - 1; n_row3++)
                                    {
                                        if (LstSolicituDet[n_row3].n_idsoltar == LstSolicitudCab[n_row].n_idtar)
                                        {
                                            LstSolicituDet[n_row3].n_idsol = LstSolicitudCab[n_row].n_idsol;
                                            if (xMiFuncion.StoreEjecutar("pro_solicitudtareasdiversasdet_insertar", LstSolicituDet[n_row3], mysConec, null) == false)
                                            {
                                                b_OcurrioError = xMiFuncion.booOcurrioError;
                                                c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                                                n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                                                return(booOk);
                                            }
                                        }
                                    }

                                    b_actualizo = true;
                                    break;
                                }
                                else
                                {
                                    b_OcurrioError = xMiFuncion.booOcurrioError;
                                    c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                                    n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                                    return(booOk);
                                }
                            }
                        }

                        // SI NO SE PUDO ACTUALIZAR LA TAREA ES PORQUE SEGURAMENTE ES UNA TAREA NUEVA HAY QUE INSERTARLA
                        if (b_actualizo == false)
                        {
                            if (xMiFuncion.StoreEjecutar("pro_solicitudtareasdiversascab_insertar", LstSolicitudCab[n_row], mysConec, 1) == true)
                            {
                                for (n_row3 = 0; n_row3 <= LstSolicituDet.Count - 1; n_row3++)
                                {
                                    if (LstSolicituDet[n_row3].n_idsoltar == LstSolicitudCab[n_row].n_idtar)
                                    {
                                        LstSolicituDet[n_row3].n_idsol = LstSolicitudCab[n_row].n_idsol;
                                        if (xMiFuncion.StoreEjecutar("pro_solicitudtareasdiversasdet_insertar", LstSolicituDet[n_row3], mysConec, null) == false)
                                        {
                                            b_OcurrioError = xMiFuncion.booOcurrioError;
                                            c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                                            n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                                            return(booOk);
                                        }
                                    }
                                }

                                b_actualizo = true;
                                break;
                            }
                        }
                    }

                    booOk = true;
                }
                else
                {
                    b_OcurrioError = xMiFuncion.booOcurrioError;
                    c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                    n_ErrorNumber  = xMiFuncion.IntErrorNumber;
                }
            }
            else
            {
                b_OcurrioError = xMiFuncion.booOcurrioError;
                c_ErrorMensaje = xMiFuncion.StrErrorMensaje;
                n_ErrorNumber  = xMiFuncion.IntErrorNumber;
            }
            return(booOk);
        }