Esempio n. 1
0
        /// <summary>
        /// Finaliza el proceso de los registros de un archivo de Formato Uno
        /// </summary>
        /// <param name="p_smResult">Estado final de la operacion</param>
        public void End(ref StatMsg p_smResult)
        {
            // No hay errores aun
            p_smResult.BllReset("FormatoInscripcion", "End");

            try
            {
                if (spTransaction != null)
                    spTransaction.Commit();

                if (this.bdConnection != null) {
                    this.bdConnection.Close();
                    this.bdConnection.Dispose();
                }
            }
            catch (Exception l_expData)
            {
                // La captura de un error se reporta siempre como
                // grave y produce la cancelación del proceso.
                p_smResult.BllError(l_expData.ToString());
            }
            finally
            {
                p_smResult.BllPop();
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Incia el proceso de los registros de un archivo de Formato Uno
        /// </summary>
        /// <param name="p_strFileName">Nombre del archivo a procesar</param>
        /// <param name="p_strExtraData">Datos extras asociados</param>
        /// <param name="p_smResult">Estado final de la operacion</param>
        public void Init(string p_strFileName, string p_strExtraData, ref StatMsg p_smResult)
        {
            // No hay errores aun
            p_smResult.BllReset("FormatoInscripcion", "Init");

            try
            {
                this.bdConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["InscripcionesCursos"].ConnectionString);
                this.bdConnection.Open();
                this.spTransaction = bdConnection.BeginTransaction("TransactionInscripcion");
                CleanInscriptions(p_smResult);
            }
            catch (Exception l_expData)
            {
                // La captura de un error se reporta siempre como
                // grave y produce la cancelación del proceso.
                p_smResult.BllError(l_expData.ToString());
            }
            finally
            {
                p_smResult.BllPop();
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Procesa los registros de un archivo de Formato Uno
        /// </summary>
        /// <param name="p_iNroRec">Numero de registro</param>
        /// <param name="p_astrData">Datos del registro a procesar</param>
        /// <param name="p_smResult">Estado final de la operacion</param>
        public void Process(int p_iNroRec, string[] p_astrData, ref StatMsg p_smResult)
        {
            // No hay errores aun
            p_smResult.BllReset("FormatoInscripcion", "Process");

            try
            {
                #region Validations
                double numCheck;
                DateTime dateCheck;

                //VALIDA TIPO INSCRIPCION
                if (p_astrData[0].Trim().Length == 0)
                {
                    p_smResult.BllError("El Tipo de Inscripcion debe contener un valor.");
                    return;
                }

                //VALIDA TURNO DE INSCRIPCION
                if (p_astrData[1].Trim().Length == 0)
                {
                    p_smResult.BllError("El Turno de Inscripcion debe contener un valor.");
                    return;
                }
                else
                {
                    if (!DateTime.TryParse(p_astrData[1], out dateCheck))
                    {
                        p_smResult.BllError("El Turno de Inscripcion debe ser del tipo DateTime.");
                        return;
                    }
                }

                //VALIDA ID_VUELTA
                if (p_astrData[2].Trim().Length == 0)
                {
                    p_smResult.BllError("El Id de Vuelta debe contener un valor.");
                    return;
                }
                else
                {
                    if (!double.TryParse(p_astrData[2], out numCheck))
                    {
                        p_smResult.BllError("El Id de Vuelta debe ser del tipo int.");
                        return;
                    }
                }

                //VALIDA ID_MATERIA
                if (p_astrData[3].Trim().Length == 0)
                {
                    p_smResult.BllError("El Id de Materia debe contener un valor.");
                    return;
                }
                else
                {
                    if (!double.TryParse(p_astrData[3], out numCheck))
                    {
                        p_smResult.BllError("El Id de Materia debe ser del tipo int.");
                        return;
                    }
                }

                //VALIDA CATEDRA
                if (p_astrData[4].Trim().Length == 0)
                {
                    p_smResult.BllError("La Catedra/Comision debe contener un valor.");
                    return;
                }

                //VALIDA DNI
                if (p_astrData[5].Trim().Length == 0)
                {
                    p_smResult.BllError("El DNI debe contener un valor.");
                    return;
                }
                else
                {
                    if (!double.TryParse(p_astrData[5], out numCheck))
                    {
                        p_smResult.BllError("El DNI debe ser del tipo int.");
                        return;
                    }
                }

                //VALIDA ORIGEN_INSCRIPCION
                if (p_astrData[6].Trim().Length == 0)
                {
                    p_smResult.BllError("El Origen de Inscripcion debe contener un valor.");
                    return;
                }

                //VALIDA FECHA_ALTA_INSCRI¨CION
                if (p_astrData[8].Trim().Length == 0)
                {
                    p_smResult.BllError("La Fecha de Alta de Inscripcion debe contener un valor.");
                    return;
                }
                else
                {
                    if (!DateTime.TryParse(p_astrData[8] + " " + p_astrData[9], out dateCheck))
                    {
                        p_smResult.BllError("La Fecha de Alta de Inscripcion debe ser del tipo DateTime.");
                        return;
                    }
                }

                //VALIDA FECHA_MODIFICACION_INSCRIPCION
                if (p_astrData[11].Trim().Length > 0)
                {
                    if (!DateTime.TryParse(p_astrData[11] + " " + p_astrData[12], out dateCheck))
                    {
                        p_smResult.BllError("La Fecha de Alta de Inscripcion debe ser del tipo DateTime.");
                        return;
                    }
                }
                #endregion

                using (SqlCommand cmd = new SqlCommand(sp_ImportInscripcion, this.bdConnection))
                {
                    cmd.CommandType = CommandType.StoredProcedure;

                    if (!ValidateStudentsInPadron(Convert.ToInt32(p_astrData[5]), p_smResult))
                        InsertMissedUser(Convert.ToInt32(p_astrData[5]), p_smResult);

                    cmd.Parameters.Add("@IdTipoInscripcion", SqlDbType.Char).Value = p_astrData[0];
                    cmd.Parameters.Add("@TurnoInscripcion", SqlDbType.Date).Value = Convert.ToDateTime(p_astrData[1]);
                    cmd.Parameters.Add("@IdVuelta", SqlDbType.Int).Value = Convert.ToInt32(p_astrData[2]);
                    cmd.Parameters.Add("@IdMateria", SqlDbType.Int).Value = Convert.ToInt32(p_astrData[3]);
                    cmd.Parameters.Add("@CatedraComision", SqlDbType.VarChar).Value = p_astrData[4];
                    cmd.Parameters.Add("@DNI", SqlDbType.Int).Value = Convert.ToInt32(p_astrData[5]);
                    cmd.Parameters.Add("@IdEstadoInscripcion", SqlDbType.Char).Value = p_astrData[6].Trim();
                    cmd.Parameters.Add("@OrigenInscripcion", SqlDbType.Char).Value = ((Object)p_astrData[7].Trim() ?? DBNull.Value);
                    cmd.Parameters.Add("@FechaAltaInscripcion", SqlDbType.DateTime).Value = p_astrData[8].Trim().Length > 0 ? Convert.ToDateTime(p_astrData[8] + " " + p_astrData[9]) : (DateTime)SqlDateTime.Null;
                    cmd.Parameters.Add("@OrigenModificacion", SqlDbType.Char).Value = ((Object)p_astrData[10].Trim() ?? DBNull.Value);
                    cmd.Parameters.Add("@FechaModificacionInscripcion", SqlDbType.DateTime).Value = p_astrData[11].Trim().Length > 0 ? Convert.ToDateTime(p_astrData[11] + " " + p_astrData[12]) : (DateTime)SqlDateTime.Null;
                    cmd.Parameters.Add("@DNIEmpleadoAlta", SqlDbType.Int).Value = p_astrData[13].Trim().Length > 0 ? Convert.ToInt32(p_astrData[13]) : 0;
                    cmd.Parameters.Add("@DNIEmpleadoMod", SqlDbType.Int).Value = p_astrData[14].Trim().Length > 0 ? Convert.ToInt32(p_astrData[14]) : 0;

                    cmd.Transaction = this.spTransaction;
                    cmd.ExecuteNonQuery();
                }

            }
            catch (Exception l_expData)
            {
                // La captura de un error se reporta siempre como
                // grave y produce la cancelación del proceso.
                p_smResult.BllError(l_expData.ToString());
            }
            finally
            {
                p_smResult.BllPop();
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Procesa los registros de un archivo de Formato Uno
        /// </summary>
        /// <param name="p_iNroRec">Numero de registro</param>
        /// <param name="p_astrData">Datos del registro a procesar</param>
        /// <param name="p_smResult">Estado final de la operacion</param>
        public void Process(int p_iNroRec, string[] p_astrData, ref StatMsg p_smResult)
        {
            // No hay errores aun
            p_smResult.BllReset("FormatoPadron", "Process");

            try
            {
                #region Validations
                double numCheck;

                //VALIDA DNI
                if (p_astrData[0].Trim().Length == 0)
                {
                    p_smResult.BllError("El DNI debe contener un valor.");
                    return;
                }
                else
                {
                    if (!double.TryParse(p_astrData[0], out numCheck))
                    {
                        p_smResult.BllError(String.Format("El DNI {0} debe ser del tipo int.", p_astrData[0]));
                        return;
                    }
                }

                if (p_astrData[19].Trim().Length != 0)
                {
                    if (!double.TryParse(p_astrData[19], out numCheck))
                    {
                        p_smResult.BllError(String.Format("El DNI {0} debe ser del tipo int.", p_astrData[0]));
                        return;
                    }
                }

                //VALIDA APELLIDONOMBRE
                if (p_astrData[1].Trim().Length == 0)
                {
                    p_smResult.BllError("El ApellidoNombre debe contener un valor.");
                    return;
                }

                //VALIDA ID_SEDE
                if (p_astrData[2].Trim().Length == 0)
                {
                    p_smResult.BllError("El Id de Sede debe contener un valor.");
                    return;
                }
                else
                {
                    if (!double.TryParse(p_astrData[2], out numCheck))
                    {
                        p_smResult.BllError("El Id de Sede debe ser del tipo int.");
                        return;
                    }
                }

                //VALIDA ID_ESTADO
                if (p_astrData[3].Trim().Length == 0)
                {
                    p_smResult.BllError("El Id de Estado debe contener un valor.");
                    return;
                }

                //VALIDA ID_CARRERA
                if (p_astrData[4].Trim().Length == 0)
                {
                    p_smResult.BllError("El Id de Carrera debe contener un valor.");
                    return;
                }
                else
                {
                    if (!double.TryParse(p_astrData[4], out numCheck))
                    {
                        p_smResult.BllError("El Id de Carrera debe ser del tipo int.");
                        return;
                    }
                }

                #endregion

                #region Delete Student && Deactivate account

                if (p_astrData[18].Trim() != string.Empty)
                {
                    switch(p_astrData[18].Trim().ToUpper())
                    {
                        case IdMovimientoBaja:
                            DeactivateAccount(Convert.ToInt32(p_astrData[0]));
                            changedAccount = true;
                            break;
                        case IdMovimientoCambio:
                            if (p_astrData[19].Trim() != string.Empty)
                                TransferData(Convert.ToInt32(p_astrData[0].Trim()), Convert.ToInt32(p_astrData[19].Trim()));
                            changedAccount = true;
                            break;
                        default:
                            break;
                    }
                }

                #endregion

                if (!changedAccount)
                {
                    using (SqlCommand cmd = new SqlCommand(sp_ImportPadron, this.bdConnection))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;

                        cmd.Parameters.AddWithValue("@DNI", Convert.ToInt32(p_astrData[0].Trim()));
                        cmd.Parameters.AddWithValue("@ApellidoNombre", p_astrData[1].Trim().Replace('�', 'Ñ'));
                        cmd.Parameters.AddWithValue("@IdSede", Convert.ToInt32(p_astrData[2]));
                        cmd.Parameters.AddWithValue("@IdEstado", p_astrData[3].Trim());
                        cmd.Parameters.AddWithValue("@IdCarrera", Convert.ToInt32(p_astrData[4].Trim()));
                        cmd.Parameters.AddWithValue("@CuatrimestreAnioIngreso", ((Object)p_astrData[5].Trim() ?? DBNull.Value));
                        cmd.Parameters.AddWithValue("@CuatrimestreAnioReincorporacion", ((Object)p_astrData[6].Trim() ?? DBNull.Value));
                        cmd.Parameters.AddWithValue("@IdCargo", 2);

                        if (p_astrData[8].Trim().Length > 0)
                        {
                            cmd.Parameters.AddWithValue("@LimitacionRelevada", true);
                            cmd.Parameters.AddWithValue("@Limitacion", p_astrData[8].Trim());
                            cmd.Parameters.AddWithValue("@LimitacionVision", p_astrData[9].Trim());
                            cmd.Parameters.AddWithValue("@Lentes", p_astrData[10].Trim());
                            cmd.Parameters.AddWithValue("@LimitacionAudicion", p_astrData[11].Trim());
                            cmd.Parameters.AddWithValue("@Audifonos", p_astrData[12].Trim());
                            cmd.Parameters.AddWithValue("@LimitacionMotriz", p_astrData[13].Trim());
                            cmd.Parameters.AddWithValue("@LimitacionAgarre", p_astrData[14].Trim());
                            cmd.Parameters.AddWithValue("@LimitacionHabla", p_astrData[15].Trim());
                            cmd.Parameters.AddWithValue("@Dislexia", p_astrData[16].Trim());
                            cmd.Parameters.AddWithValue("@LimitacionOtra", p_astrData[17].Trim());
                        }
                        else
                        {
                            cmd.Parameters.AddWithValue("@LimitacionRelevada", false);
                            cmd.Parameters.AddWithValue("@Limitacion", DBNull.Value);
                            cmd.Parameters.AddWithValue("@LimitacionVision", DBNull.Value);
                            cmd.Parameters.AddWithValue("@Lentes", DBNull.Value);
                            cmd.Parameters.AddWithValue("@LimitacionMotriz", DBNull.Value);
                            cmd.Parameters.AddWithValue("@LimitacionAudicion", DBNull.Value);
                            cmd.Parameters.AddWithValue("@Audifonos", DBNull.Value);
                            cmd.Parameters.AddWithValue("@LimitacionAgarre", DBNull.Value);
                            cmd.Parameters.AddWithValue("@LimitacionHabla", DBNull.Value);
                            cmd.Parameters.AddWithValue("@Dislexia", DBNull.Value);
                            cmd.Parameters.AddWithValue("@LimitacionOtra", DBNull.Value);
                        }

                        cmd.Transaction = this.spTransaction;
                        cmd.ExecuteNonQuery();
                    }
                }
            }
            catch (Exception l_expData)
            {
                // La captura de un error se reporta siempre como
                // grave y produce la cancelación del proceso.
                p_smResult.BllError(l_expData.ToString());
            }
            finally
            {
                p_smResult.BllPop();
            }
        }