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; } } }
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()); }
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; } }