コード例 #1
0
 protected void txtNroDocumento_TextChanged(object sender, EventArgs e)
 {
     if (txtNroDocumento.Text.Trim() != "")
     {
         Sigesoft.Node.WinClient.BE.PacientList objpacientDto = new Sigesoft.Node.WinClient.BE.PacientList();
         OperationResult objOperationResult = new OperationResult();
         PacientBL       _objPacientBL      = new PacientBL();
         objpacientDto = _objPacientBL.GetPacient(ref objOperationResult, null, txtNroDocumento.Text.Trim());
         if (objpacientDto == null)
         {
             txtNombres.Text                = "";
             txtApellidoPaterno.Text        = "";
             txtApellidoMaterno.Text        = "";
             ddlGenero.SelectedValue        = "-1";
             dpFechaNacimiento.SelectedDate = null;
             txtPuesto.Text = "";
         }
         else
         {
             txtNombres.Text                = objpacientDto.v_FirstName;
             txtApellidoPaterno.Text        = objpacientDto.v_FirstLastName;
             txtApellidoMaterno.Text        = objpacientDto.v_SecondLastName;
             ddlGenero.SelectedValue        = objpacientDto.i_SexTypeId.ToString();
             dpFechaNacimiento.SelectedDate = objpacientDto.d_Birthdate;
             txtPuesto.Text = objpacientDto.v_DocNumber;
         }
     }
 }
コード例 #2
0
        protected void btnSaveRefresh_Click(object sender, EventArgs e)
        {
            _TempPacientList = new List <Sigesoft.Node.WinClient.BE.PacientList>();
            TempPacient      = new Sigesoft.Node.WinClient.BE.PacientList();

            TempPacient.i_Correlative       = 1;
            TempPacient.v_FirstName         = txtNombres.Text.ToUpper();
            TempPacient.v_FirstLastName     = txtApellidoPaterno.Text.ToUpper();
            TempPacient.v_SecondLastName    = txtApellidoMaterno.Text.ToUpper();
            TempPacient.i_DocTypeId         = int.Parse(ddlDocumento.SelectedValue.ToString());
            TempPacient.v_DocTypeName       = ddlDocumento.SelectedText;
            TempPacient.v_DocNumber         = txtNroDocumento.Text;
            TempPacient.i_SexTypeId         = int.Parse(ddlGenero.SelectedValue.ToString());
            TempPacient.v_SexTypeName       = ddlGenero.SelectedText;
            TempPacient.d_Birthdate         = dpFechaNacimiento.SelectedDate;
            TempPacient.v_CurrentOccupation = txtPuesto.Text.ToUpper();
            TempPacient.v_ProtocoloId       = Session["ProtocoloNombre"].ToString();

            _TempPacientList.Add(TempPacient);
            Session["_TempPacientList"] = _TempPacientList;

            PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
        }
コード例 #3
0
        protected void fileDoc_FileSelected(object sender, EventArgs e)
        {
            try
            {
                int           Value        = 0;
                bool          Imported     = true;
                int           ErrorCounter = 0;
                DateTime      ValueDateTime;
                StringBuilder sbMensaje = new StringBuilder();

                if (ddlProtocoloId.SelectedValue == "-1")
                {
                    Alert.ShowInTop("Debe seleccionar un protocolo", "Pregunta");
                    return;
                }

                if (_TempPacientList != null)
                {
                    Alert.ShowInTop("Ya existe una lista de pacientes por agendar", "Pregunta");
                    return;
                }

                string fileName = fileDoc.FileName;

                if (fileName != "")
                {
                    string Ext = fileName.Substring(fileName.IndexOf('.') + 0).ToUpper();
                    _TempPacientList = new List <Sigesoft.Node.WinClient.BE.PacientList>();
                    if (Ext == ".XLSX" || Ext == ".XLS")
                    {
                        fileDoc.SaveAs(Server.MapPath("~/upload/" + fileName));

                        Spreadsheet document = new Spreadsheet();
                        document.LoadFromFile(Server.MapPath("~/upload/" + fileName));
                        Worksheet worksheet1 = document.Workbook.Worksheets.ByName("PLANTILLA");

                        Sigesoft.Node.WinClient.BE.PacientList TempPacient;

                        int i  = 4;
                        int ii = 4;
                        //Validar que el excel no esta vacio
                        while (worksheet1.Cell(ii, 0).ValueAsString != "")
                        {
                            if (worksheet1.Cell(ii, 0).ValueAsString == null || worksheet1.Cell(ii, 1).ValueAsString == null || worksheet1.Cell(ii, 2).ValueAsString == null || worksheet1.Cell(ii, 3).ValueAsString == null || worksheet1.Cell(ii, 4).ValueAsString == null || worksheet1.Cell(ii, 5).ValueAsString == null || worksheet1.Cell(ii, 6).ValueAsString == null || worksheet1.Cell(ii, 7).ValueAsString == null || worksheet1.Cell(ii, 8).ValueAsString == null || worksheet1.Cell(ii, 9).ValueAsString == null || worksheet1.Cell(ii, 10).ValueAsString == null || worksheet1.Cell(ii, 11).ValueAsString == null || worksheet1.Cell(ii, 12).ValueAsString == null)
                            {
                                for (int y = 0; y <= 12; y++)
                                {
                                    if (worksheet1.Cell(ii, y).ValueAsString == null)
                                    {
                                        Imported = false;
                                        sbMensaje.Append("Registro número : ");
                                        sbMensaje.Append(worksheet1.Cell(ii, 0).ValueAsString);
                                        sbMensaje.Append(". El campo " + worksheet1.Cell(3, y).ValueAsString.ToString() + " no puede estar vacio");
                                        sbMensaje.Append("\n");
                                    }
                                }
                            }
                            ii++;
                        }
                        if (Imported == false)
                        {
                            Alert.ShowInTop(sbMensaje.ToString(), "Corregir registros en blanco");
                            return;
                        }


                        while (worksheet1.Cell(i, 0).ValueAsString != "")
                        {
                            TempPacient = new Sigesoft.Node.WinClient.BE.PacientList();

                            if (worksheet1.Cell(i, 0).ValueAsString != "")
                            {
                                TempPacient.i_Correlative = int.Parse(worksheet1.Cell(i, 0).ValueAsString.ToString());
                                Imported = true;
                            }
                            //Nombres
                            if (worksheet1.Cell(i, 1).ValueAsString != "")
                            {
                                TempPacient.v_FirstName = worksheet1.Cell(i, 1).ValueAsString.ToString();
                                Imported = true;
                            }
                            else
                            {
                                ErrorCounter++;
                                Imported = false;
                                sbMensaje.Append("Registro número : ");
                                sbMensaje.Append(worksheet1.Cell(i, 0).ValueAsString);
                                sbMensaje.Append(". El campo Nombres es inválido");
                                sbMensaje.Append("\n");
                                i++;
                                continue;
                            }
                            //Apellido Paterno
                            if (worksheet1.Cell(i, 2).ValueAsString != "")
                            {
                                TempPacient.v_FirstLastName = worksheet1.Cell(i, 2).ValueAsString.ToString();
                                Imported = true;
                            }
                            else
                            {
                                ErrorCounter++;
                                Imported = false;
                                sbMensaje.Append("Registro número : ");
                                sbMensaje.Append(worksheet1.Cell(i, 0).ValueAsString);
                                sbMensaje.Append(". El campo Apellido Paterno es inválido");
                                sbMensaje.Append("\n");
                                i++;
                                continue;
                            }
                            //Apellido Materno
                            if (worksheet1.Cell(i, 3).ValueAsString != "")
                            {
                                TempPacient.v_SecondLastName = worksheet1.Cell(i, 3).ValueAsString.ToString();
                                Imported = true;
                            }
                            else
                            {
                                ErrorCounter++;
                                Imported = false;
                                sbMensaje.Append("Registro número : ");
                                sbMensaje.Append(worksheet1.Cell(i, 0).ValueAsString);
                                sbMensaje.Append(". El campo Apellido Materno es inválido");
                                sbMensaje.Append("\n");
                                i++;
                                continue;
                            }
                            //ID Tipo Documento
                            if (worksheet1.Cell(i, 4).ValueAsString == null)
                            {
                                ErrorCounter++;
                                Imported = false;
                                sbMensaje.Append("Registro número : ");
                                sbMensaje.Append(worksheet1.Cell(i, 0).ValueAsString);
                                sbMensaje.Append(". El campo ID Tipo Documento es inválido");
                                sbMensaje.Append("\n");
                                i++;
                                continue;
                            }
                            if (int.TryParse(worksheet1.Cell(i, 4).ValueAsString.ToString(), out Value) == false)
                            {
                                ErrorCounter++;
                                Imported = false;
                                sbMensaje.Append("Registro número : ");
                                sbMensaje.Append(worksheet1.Cell(i, 0).ValueAsString);
                                sbMensaje.Append(". El campo ID Tipo Documento es inválido");
                                sbMensaje.Append("\n");
                                i++;
                                continue;
                            }
                            else
                            {
                                Imported = true;
                                TempPacient.i_DocTypeId = int.Parse(worksheet1.Cell(i, 4).ValueAsString.ToString());
                            }
                            //Nombre Tipo Documento
                            if (worksheet1.Cell(i, 5).ValueAsString != "")
                            {
                                TempPacient.v_DocTypeName = worksheet1.Cell(i, 5).ValueAsString.ToString();
                                Imported = true;
                            }
                            else
                            {
                                ErrorCounter++;
                                Imported = false;
                                sbMensaje.Append("Registro número : ");
                                sbMensaje.Append(worksheet1.Cell(i, 0).ValueAsString);
                                sbMensaje.Append(". El campo Nombre Tipo Documento es inválido");
                                sbMensaje.Append("\n");
                                i++;
                                continue;
                            }
                            //Número Documento
                            if (worksheet1.Cell(i, 6).ValueAsString != "")
                            {
                                if (worksheet1.Cell(i, 4).ValueAsString.ToString() == "1")     // DNI
                                {
                                    if (worksheet1.Cell(i, 6).ValueAsString.ToString().Length != 8)
                                    {
                                        ErrorCounter++;
                                        Imported = false;
                                        sbMensaje.Append("Registro número : ");
                                        sbMensaje.Append(worksheet1.Cell(i, 0).ValueAsString);
                                        sbMensaje.Append(". El campo Número de DNI debe tener 8 dígitos");
                                        sbMensaje.Append("\n");
                                        i++;
                                        continue;
                                    }
                                    else
                                    {
                                        Imported = true;
                                        TempPacient.v_DocNumber = worksheet1.Cell(i, 6).ValueAsString.ToString();
                                    }
                                }
                                else if (worksheet1.Cell(i, 4).ValueAsString.ToString() == "2")     // PASAPORTE
                                {
                                    if (worksheet1.Cell(i, 6).ValueAsString.ToString().Length != 9)
                                    {
                                        ErrorCounter++;
                                        Imported = false;
                                        sbMensaje.Append("Registro número : ");
                                        sbMensaje.Append(worksheet1.Cell(i, 0).ValueAsString);
                                        sbMensaje.Append(". El Número PASAPORTE debe tener 9 dígitos");
                                        sbMensaje.Append("\n");
                                        i++;
                                        continue;
                                    }
                                    else
                                    {
                                        Imported = true;
                                        TempPacient.v_DocNumber = worksheet1.Cell(i, 6).ValueAsString.ToString();
                                    }
                                }
                                else if (worksheet1.Cell(i, 4).ValueAsString.ToString() == "3")     // LICENCIA DE CONDUCIR
                                {
                                    if (worksheet1.Cell(i, 6).ValueAsString.ToString().Length != 10)
                                    {
                                        ErrorCounter++;
                                        Imported = false;
                                        sbMensaje.Append("Registro número : ");
                                        sbMensaje.Append(worksheet1.Cell(i, 0).ValueAsString);
                                        sbMensaje.Append(". El Número LICENCIA DE CONDUCIR debe tener 10 dígitos");
                                        sbMensaje.Append("\n");
                                        i++;
                                        continue;
                                    }
                                    else
                                    {
                                        Imported = true;
                                        TempPacient.v_DocNumber = worksheet1.Cell(i, 6).ValueAsString.ToString();
                                    }
                                }
                                else if (worksheet1.Cell(i, 4).ValueAsString.ToString() == "4")    // CARNET DE EXTRANJERIA
                                {
                                    if (worksheet1.Cell(i, 6).ValueAsString.ToString().Length != 11)
                                    {
                                        ErrorCounter++;
                                        Imported = false;
                                        sbMensaje.Append("Registro número : ");
                                        sbMensaje.Append(worksheet1.Cell(i, 0).ValueAsString);
                                        sbMensaje.Append(". El Número CARNET DE EXTRANJERIA debe tener 11 dígitos");
                                        sbMensaje.Append("\n");
                                        i++;
                                        continue;
                                    }
                                    else
                                    {
                                        Imported = true;
                                        TempPacient.v_DocNumber = worksheet1.Cell(i, 6).ValueAsString.ToString();
                                    }
                                }
                            }
                            else
                            {
                                ErrorCounter++;
                                Imported = false;
                                sbMensaje.Append("Registro número : ");
                                sbMensaje.Append(worksheet1.Cell(i, 0).ValueAsString);
                                sbMensaje.Append(". El campo Número Documento es inválido");
                                sbMensaje.Append("\n");
                                i++;
                                continue;
                            }
                            //ID Género
                            if (int.TryParse(worksheet1.Cell(i, 7).ValueAsString.ToString(), out Value))
                            {
                                Imported = true;
                                TempPacient.i_SexTypeId = int.Parse(worksheet1.Cell(i, 7).ValueAsString.ToString());
                            }
                            else
                            {
                                ErrorCounter++;
                                Imported = false;
                                sbMensaje.Append("Registro número : ");
                                sbMensaje.Append(worksheet1.Cell(i, 0).ValueAsString);
                                sbMensaje.Append(". El campo ID Género es inválido");
                                sbMensaje.Append("\n");
                                i++;
                                continue;
                            }
                            // Nombre Género
                            if (worksheet1.Cell(i, 8).ValueAsString != "")
                            {
                                Imported = true;
                                TempPacient.v_SexTypeName = worksheet1.Cell(i, 8).ValueAsString.ToString();
                            }
                            else
                            {
                                ErrorCounter++;
                                Imported = false;
                                sbMensaje.Append("Registro número : ");
                                sbMensaje.Append(worksheet1.Cell(i, 0).ValueAsString);
                                sbMensaje.Append(". El campo Nombre Género es inválido");
                                sbMensaje.Append("\n");
                                i++;
                                continue;
                            }
                            //Fecha Nacimiento
                            if (worksheet1.Cell(i, 12).ValueAsString == null)
                            {
                                ErrorCounter++;
                                Imported = false;
                                sbMensaje.Append("Registro número : ");
                                sbMensaje.Append(worksheet1.Cell(i, 0).ValueAsString);
                                sbMensaje.Append(". El campo Fecha Nacimiento es inválido");
                                sbMensaje.Append("\n");
                                i++;
                                continue;
                            }
                            if (DateTime.TryParseExact(worksheet1.Cell(i, 12).ValueAsString.ToString(), "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out ValueDateTime) == false)
                            {
                                ErrorCounter++;
                                Imported = false;
                                sbMensaje.Append("Registro número : ");
                                sbMensaje.Append(worksheet1.Cell(i, 0).ValueAsString);
                                sbMensaje.Append(". El campo Fecha Nacimiento es inválido");
                                sbMensaje.Append("\n");
                                i++;
                                continue;
                            }
                            else
                            {
                                Imported = true;
                                TempPacient.d_Birthdate = DateTime.ParseExact(worksheet1.Cell(i, 12).ValueAsString.ToString(), "yyyyMMdd", CultureInfo.InvariantCulture);
                            }


                            //Puesto de Trabajo
                            if (worksheet1.Cell(i, 13).ValueAsString != "")
                            {
                                TempPacient.v_CurrentOccupation = worksheet1.Cell(i, 13).ValueAsString.ToString();
                                Imported = true;
                            }
                            else
                            {
                                //ErrorCounter++;
                                //Imported = false;
                                //sbMensaje.Append("Registro número : ");
                                //sbMensaje.Append(worksheet1.Cell(i,10).ValueAsString);
                                //sbMensaje.Append(". El campo Nombres es inválido");
                                //sbMensaje.Append("\n");
                                //i++;
                                //continue;
                                TempPacient.v_CurrentOccupation = string.Empty;
                            }

                            //PROTOCOLO ID
                            if (ddlProtocoloId.SelectedValue != "-1")
                            {
                                TempPacient.v_ProtocoloId = ddlProtocoloId.SelectedText.ToString();
                                Imported = true;
                            }
                            else
                            {
                                TempPacient.v_ProtocoloId = string.Empty;
                            }
                            _TempPacientList.Add(TempPacient);
                            Session["_TempPacientList"] = _TempPacientList;
                            var Result = _TempPacientList.FindAll(p => p.v_DocNumber == TempPacient.v_DocNumber && p.i_DocTypeId == TempPacient.i_DocTypeId);
                            if (Result.Count > 1)
                            {
                                Alert.ShowInTop("El correlativo " + Result[0].i_Correlative + " tiene el mismo Número Documento que el correlativo " + Result[1].i_Correlative + " .Revise el Excel y corriga la duplicidad", "Error al cargar Excel");
                                return;
                            }
                            i++;
                        }

                        //lblRecordCountPacients.Text = string.Format("Se encontraron {0} registros.", _TempPacientList.Count());

                        if (ErrorCounter > 0)
                        {
                            _TempPacientList   = new List <Sigesoft.Node.WinClient.BE.PacientList>();
                            grdData.DataSource = new List <PacientList>();
                            grdData.DataBind();
                            Alert.ShowInTop(sbMensaje.ToString(), "Registros no importados");
                            sbMensaje       = null;
                            btnSubir.Hidden = true;
                        }
                        else if (ErrorCounter == 0)
                        {
                            grdData.DataSource = _TempPacientList;
                            grdData.DataBind();
                            Alert.ShowInTop("Se importaron " + _TempPacientList.Count() + " registros.", "Importación correcta");
                            btnSubir.Hidden = false;
                        }
                        else
                        {
                            _TempPacientList   = new List <Sigesoft.Node.WinClient.BE.PacientList>();
                            grdData.DataSource = new List <Sigesoft.Node.WinClient.BE.PacientList>();
                            grdData.DataBind();
                            Alert.ShowInTop(sbMensaje.ToString(), "Registros no importados");
                            sbMensaje = null;
                        }
                    }
                    else
                    {
                        Alert.ShowInTop("Solo se puede subir archivos con esta extensión : .XLSX");
                        return;
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }