public void RenderAsControl(Option baseOption, System.Web.UI.WebControls.PlaceHolder ph) { System.Web.UI.WebControls.DropDownList result = new System.Web.UI.WebControls.DropDownList(); result.ID = "opt" + baseOption.Bvin.Replace("-", ""); result.ClientIDMode = System.Web.UI.ClientIDMode.Static; result.CssClass = "isoption"; foreach (OptionItem o in baseOption.Items) { if (o.IsLabel) { result.Items.Add(new System.Web.UI.WebControls.ListItem(o.Name, "systemlabel")); } else { result.Items.Add(new System.Web.UI.WebControls.ListItem(o.Name, o.Bvin.Replace("-",""))); } } ph.Controls.Add(result); }
protected void btnSend_Click(object sender, EventArgs e) { try { if (Page.IsValid) { string newItemId = ""; using (SPSite sps = new SPSite(SPContext.Current.Web.Url)) using (SPWeb spw = sps.OpenWeb()) { SPListItemCollection itemsAdvertisingRecords = spw.Lists[ADVERTISING_RECORDS].Items; SPListItem newItem = itemsAdvertisingRecords.Add(); List <string> sendMailResponce = new List <string>(2); System.Web.UI.WebControls.DropDownList officeElement = new System.Web.UI.WebControls.DropDownList(); string nameBox; string phoneBox; if (SpAdvertisingTemplate == Templates.Plantilla_A) { officeElement = ddlOfficeA; nameBox = txbNameA.Text; phoneBox = txbPhoneA.Text; } else { officeElement = ddlOfficeB; nameBox = txbNameB.Text; phoneBox = txbPhoneB.Text; } sendMailResponce = this.SendMail( spw, officeElement.SelectedIndex - 1, nameBox, phoneBox); newItem["Title"] = nameBox; newItem["T_x00ed_tulo_x0020_Campa_x00f1_a"] = spw.Lists[ADVERTISING_PARAMETERS].GetItemById(SpAdvertisingId).Title; newItem["Tel_x00e9_fono_x0020_Registro"] = phoneBox; newItem["Agencia_x0020_Registro"] = officeElement.SelectedItem.Value + " | " + officeElement.SelectedItem.Text; newItem["Correo_x0020_Enviado"] = Convert.ToBoolean(sendMailResponce[0]); newItem["Comentarios_x0020_Registro"] = sendMailResponce[1]; newItem.Update(); newItemId = newItem.ID.ToString(); } Page.Response.Redirect(SpAdvertisingRedirect + "?ad=" + SpAdvertisingId + "&cl=" + newItemId, true); } } catch (Exception ex) { //pnlFormA.Visible = false; //pnlFormB.Visible = false; System.Web.UI.LiteralControl deadlineMessage = new System.Web.UI.LiteralControl(); deadlineMessage.Text = "<link rel='stylesheet' href='/_catalogs/masterpage/bmsc/styles/advertising_a.css'>" + "<div class='advertisingMessage'>" + ex.Message + "</div>"; this.Controls.Clear(); this.Controls.Add(deadlineMessage); } }
/// <summary> /// 为目标下拉框加上 "重新编制" 项 /// </summary> /// <param name="DLL">目标下拉框</param> public static void ReCompileSelect(System.Web.UI.WebControls.DropDownList DDL) { DDL.Items.Insert(0, new System.Web.UI.WebControls.ListItem("重新编制", "0")); return; }
public TypScaleContinuous() { scaleVersions = new List <string>(); ddlContinuous = new System.Web.UI.WebControls.DropDownList(); checkBox = new System.Web.UI.WebControls.CheckBox(); }
public static void GetProductType(System.Web.UI.WebControls.DropDownList ddl) { string companyCD = ((UserInfoUtil)SessionUtil.Session["UserInfo"]).CompanyCD; SellOrderActiveMoneyDBHelper.GetProductType(companyCD, ddl); }
/// <summary> /// 绑定项目(同时绑定对应的项目编号) /// </summary> /// <param name="ddl"></param> /// <param name="userinfo"></param> /// <param name="bindProjectNo">用来重载的任意字符串</param> public static void BindProject(System.Web.UI.WebControls.DropDownList ddl, XBase.Common.UserInfoUtil userinfo, string bindProjectNo) { ProjectBudgetDBHelper.BindProject(ddl, userinfo, bindProjectNo); }
/// <summary> /// DropDown Bound Baþlangýç Item YOK /// </summary> /// <param name="ddlControl">Dropdownlist</param> /// <param name="dt">Datasource Datatable</param> /// <param name="DataTextField">Görüntülenecek Hücre</param> /// <param name="DataValueField">Value Hücre</param> /// <param name="SelectedValue">Seçili Hücre</param> public static void BindDDL(ref System.Web.UI.WebControls.DropDownList ddlControl, DataTable dt, string DataTextField, string DataValueField, string SelectedValue) { BindDDL(ref ddlControl, dt, DataTextField, DataValueField, SelectedValue, "", ""); }
/// <summary> /// DROPDOWNLIST I VALUE ÝLE TEXT AYNI OLACAK ÞEKÝLDE RAKAM ÝLE DOLDURUR. /// </summary> /// <param name="ddl">DropDownlList Ref Parametre</param> /// <param name="count">Kaça kadar?</param> public static void LoadNumberDDL(ref System.Web.UI.WebControls.DropDownList ddl, int count) { LoadNumberDDL(ref ddl, count, 1, 1, false); }
/// <summary> /// DROPDOWNLIST I VALUE ÝLE TEXT AYNI OLACAK ÞEKÝLDE RAKAM ÝLE ÝSTENEN SAYIDA ARTARAK DOLDURUR. /// </summary> /// <param name="ddl">DropDownlList Ref Parametre</param> /// <param name="Count">Kaça kadar?</param> /// <param name="Step">Kaç Kaç Artsýn?</param> /// <param name="StartNumber">Kaçtan Baþlasýn?</param> public static void LoadNumberDDL(ref System.Web.UI.WebControls.DropDownList ddl, int Count, int Step, int StartNumber) { LoadNumberDDL(ref ddl, Count, Step, StartNumber, false); }
/// <summary> /// DROPDOWNLIST I VALUE ÝLE TEXT AYNI OLACAK ÞEKÝLDE RAKAM ÝLE DOLDURUR. /// </summary> /// <param name="ddl">DropDownlList Ref Parametre</param> /// <param name="count">Kaça kadar?</param> /// <param name="count">Tek Hanelilerin Soluna '0' eklensin mi?</param> public static void LoadNumberDDL(ref System.Web.UI.WebControls.DropDownList ddl, int count, bool PadLeft) { LoadNumberDDL(ref ddl, count, 1, 1, PadLeft); }
protected void btnSaveRefresh_Click(object sender, EventArgs e) { string Mode = Request.QueryString["Mode"].ToString(); OperationResult objOperationResult = new OperationResult(); _protocolcomponentListDTO = new List <protocolcomponentDto>(); _protocolDTO = new protocolDto(); var id = cbOrganization.SelectedValue.ToString().Split('|'); var id1 = cbOrganizationInvoice.SelectedValue.ToString().Split('|'); var id2 = cbIntermediaryOrganization.SelectedValue.ToString().Split('|'); _protocolDTO.v_Name = txtProtocolName.Text; _protocolDTO.v_EmployerOrganizationId = id[0]; _protocolDTO.v_EmployerLocationId = id[1]; _protocolDTO.i_EsoTypeId = int.Parse(cbEsoType.SelectedValue.ToString()); _protocolDTO.v_GroupOccupationId = cbGeso.SelectedValue.ToString(); _protocolDTO.v_CustomerOrganizationId = id1[0]; _protocolDTO.v_CustomerLocationId = id1[1]; _protocolDTO.v_WorkingOrganizationId = id2[0]; _protocolDTO.v_WorkingLocationId = cbIntermediaryOrganization.SelectedValue.ToString() != "-1" ? id2[1] : "-1"; _protocolDTO.i_MasterServiceId = int.Parse(cbService.SelectedValue.ToString()); _protocolDTO.v_CostCenter = txtCostCenter.Text; _protocolDTO.i_MasterServiceTypeId = int.Parse(cbServiceType.SelectedValue.ToString()); _protocolDTO.i_HasVigency = 0; _protocolDTO.i_ValidInDays = 0; _protocolDTO.i_IsActive = 1; _protocolDTO.v_NombreVendedor = ""; if (Mode == "New") { if (IsExistsProtocolName()) { Alert.Show("Este protocolo ya existe"); return; } CheckBoxField field1 = (CheckBoxField)grdData.FindColumn("CheckBoxField2"); for (int i = 0; i < grdData.Rows.Count; i++) { if (field1.GetCheckedState(i) == true) { _protocolDTO.v_ProtocolId = null; GridRow row = grdData.Rows[i]; System.Web.UI.WebControls.TextBox txtPrice = (System.Web.UI.WebControls.TextBox)row.FindControl("r_Price"); protocolcomponentDto protocolComponent = new protocolcomponentDto(); protocolComponent.v_ComponentId = grdData.Rows[i].Values[5]; protocolComponent.r_Price = float.Parse(txtPrice.Text.ToString());// float.Parse(grdData.Rows[i].Values[4].ToString()); //protocolComponent.i_OperatorId = -1; //protocolComponent.i_Age = 0; //protocolComponent.i_GenderId = 3; //protocolComponent.i_IsAdditional = 0; //protocolComponent.i_IsConditionalId =0; System.Web.UI.WebControls.TextBox txtEdad = (System.Web.UI.WebControls.TextBox)row.FindControl("i_Age"); CheckBoxField fieldAdicional = (CheckBoxField)grdData.FindColumn("CheckBoxField3"); bool ChecAdicional = fieldAdicional.GetCheckedState(i); CheckBoxField fieldCondicional = (CheckBoxField)grdData.FindColumn("CheckBoxField4"); bool ChecCondicional = fieldCondicional.GetCheckedState(i); protocolComponent.i_Age = int.Parse(txtEdad.Text.ToString()); protocolComponent.i_IsAdditional = ChecAdicional == true ? 1 : 0; protocolComponent.i_IsConditionalId = ChecCondicional == true ? 1 : 0; System.Web.UI.WebControls.DropDownList ddlOperador = (System.Web.UI.WebControls.DropDownList)grdData.Rows[i].FindControl("ddlOperador"); System.Web.UI.WebControls.DropDownList ddlGender = (System.Web.UI.WebControls.DropDownList)grdData.Rows[i].FindControl("ddlGender"); protocolComponent.i_GenderId = int.Parse(ddlGender.SelectedValue.ToString()); protocolComponent.i_OperatorId = int.Parse(ddlOperador.SelectedValue.ToString()); protocolComponent.i_IsConditionalIMC = 0; protocolComponent.r_Imc = 0; _protocolcomponentListDTO.Add(protocolComponent); } } _protocolBL.AddProtocol(ref objOperationResult, _protocolDTO, _protocolcomponentListDTO, ((ClientSession)Session["objClientSession"]).GetAsList()); } else if (Mode == "Edit") { _protocolDTO.v_ProtocolId = Session["ProtocolId"].ToString(); //Eliminar Fisicamente registros de protocolcomponent _protocolBL.EliminarProtocolComponentByProtocolId(ref objOperationResult, Session["ProtocolId"].ToString()); //Grabar de nuevo la entidad CheckBoxField field1 = (CheckBoxField)grdData.FindColumn("CheckBoxField2"); for (int i = 0; i < grdData.Rows.Count; i++) { if (field1.GetCheckedState(i) == true) { protocolcomponentDto protocolComponent = new protocolcomponentDto(); GridRow row = grdData.Rows[i]; System.Web.UI.WebControls.TextBox txtPrice = (System.Web.UI.WebControls.TextBox)row.FindControl("r_Price"); System.Web.UI.WebControls.TextBox txtEdad = (System.Web.UI.WebControls.TextBox)row.FindControl("i_Age"); CheckBoxField fieldAdicional = (CheckBoxField)grdData.FindColumn("CheckBoxField3"); bool ChecAdicional = fieldAdicional.GetCheckedState(i); CheckBoxField fieldCondicional = (CheckBoxField)grdData.FindColumn("CheckBoxField4"); bool ChecCondicional = fieldCondicional.GetCheckedState(i); System.Web.UI.WebControls.DropDownList ddlOperador = (System.Web.UI.WebControls.DropDownList)grdData.Rows[i].FindControl("ddlOperador"); System.Web.UI.WebControls.DropDownList ddlGender = (System.Web.UI.WebControls.DropDownList)grdData.Rows[i].FindControl("ddlGender"); protocolComponent.v_ComponentId = grdData.Rows[i].Values[5]; protocolComponent.r_Price = float.Parse(txtPrice.Text.ToString()); protocolComponent.i_Age = int.Parse(txtEdad.Text.ToString()); protocolComponent.i_IsAdditional = ChecAdicional == true ? 1:0; protocolComponent.i_IsConditionalId = ChecCondicional == true ? 1 : 0; protocolComponent.i_GenderId = int.Parse(ddlGender.SelectedValue.ToString()); protocolComponent.i_OperatorId = int.Parse(ddlOperador.SelectedValue.ToString()); protocolComponent.i_IsConditionalIMC = 0; protocolComponent.r_Imc = 0; _protocolcomponentListDTO.Add(protocolComponent); } } _protocolBL.AddProtocol(ref objOperationResult, _protocolDTO, _protocolcomponentListDTO, ((ClientSession)Session["objClientSession"]).GetAsList()); } //Analizar el resultado de la operación if (objOperationResult.Success == 1) // Operación sin error { // Cerrar página actual y hacer postback en el padre para actualizar PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } else // Operación con error { Alert.ShowInTop("Error en operación:" + System.Environment.NewLine + objOperationResult.ExceptionMessage); // Se queda en el formulario. } }
/// <summary> /// Handles the Click event of the lbSubir control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param> /// <exception cref="Exception"> /// El comprobante no pudo generarse: El RFC receptor del comprobante (" + rfcReceptorXml + ") no se encuentra registrado en el portal. /// or /// El comprobante no pudo generarse: El RFC emisor del comprobante (" + rfcEmisorXml + ") es distinto al RFC del proveedor actual (" + rfcWeb + ") /// or /// No se pudo guardar el PDF en la ruta especificada. Causa: " + ex.Message /// or /// No existe ruta de PDF asignada para el comprobante. /// or /// El comprobante no pudo generarse: " + ws.ObtenerMensaje() + ". Para más información consulte la trama con ID " + id /// or /// El comprobante no pudo generarse: " + ws.ObtenerMensaje() /// </exception> /// <exception cref="System.Exception">No se pudo guardar el PDF en la ruta especificada. Causa: + ex.Message /// or /// No existe ruta de PDF asignada para el comprobante. /// or /// El comprobante no pudo generarse: + ws.ObtenerMensaje() + . Para más información consulte la trama con ID + id /// or /// El comprobante no pudo generarse: + ws.ObtenerMensaje()</exception> protected void lbSubir_Click(object sender, EventArgs e) { //[0] = XML //[1] = PDF //[2] = ORDEN_COMPRA //[3] = ADICIONALES var _recepBcc = ""; if (Session["_files"] == null || ((Dictionary <int, object[]>)Session["_files"]).Count <= 0) { var msg = "No se han cargado comprobantes"; var metodo = MethodBase.GetCurrentMethod().Name; RegLog(msg, metodo); (Master as SiteMaster).MostrarAlerta(this, msg, 4, null); } else { var comprobantesFallidos = ((Dictionary <int, object[]>)Session["_files"]).Where(x => x.Value[0] == null || x.Value[1] == null).Select(x => x.Key).ToList(); var msg = ""; if (comprobantesFallidos.Count == 1) { msg = "El comprobante " + comprobantesFallidos.FirstOrDefault() + " no tiene alguno de los archivos requeridos para ser procesado."; var metodo = MethodBase.GetCurrentMethod().Name; RegLog(msg, metodo); (Master as SiteMaster).MostrarAlerta(this, msg, 4, null); } else if (comprobantesFallidos.Count > 1) { var compFallidos = string.Join(", ", comprobantesFallidos.ToArray()); msg = "Los comprobantes " + compFallidos + " no tienen alguno de los archivos requeridos para ser procesados."; var metodo = MethodBase.GetCurrentMethod().Name; RegLog(msg, metodo); (Master as SiteMaster).MostrarAlerta(this, msg, 4, null); } else { var mensajeFallidos = new List <KeyValuePair <int, string> >(); foreach (var comprobante in ((Dictionary <int, object[]>)Session["_files"])) { try { var xml = PostedFileToBytes((HttpPostedFile)comprobante.Value[0]); var pdf = (HttpPostedFile)comprobante.Value[1]; var orden = (HttpPostedFile)comprobante.Value[2]; var bytesPdf = PostedFileToBytes(pdf); var bytesOrden = PostedFileToBytes(orden); var xDoc = GetEntryXmlDoc(xml); var archivosAdicionales = comprobante.Value[3]; var ws = new WsRecepcion { Timeout = (1800 * 1000) }; //var ddl = FindControl("ddlTipoProveedor" + comprobante.Key); System.Web.UI.WebControls.DropDownList ddlTipoProveedor = null; var idTipoProveedor = ""; var observaciones = ""; try { var ddl = (System.Web.UI.WebControls.DropDownList)getControl(Page, "ddlTipoProveedor" + comprobante.Key); idTipoProveedor = ddl.SelectedValue; } catch (Exception ex) { } try { var tb = (System.Web.UI.WebControls.TextBox)getControl(Page, "tbObservaciones" + comprobante.Key); observaciones = tb.Text; } catch (Exception ex) { } DbDataReader dr; var idUserWs = _idUser; XmlNode xmlNode; if (Session["USERNAME"].ToString().StartsWith("PROVE", StringComparison.OrdinalIgnoreCase)) { idUserWs = "999999999"; #region Validacion RFC Receptor var rfcReceptorXml = ""; xmlNode = xDoc.GetElementsByTagName("cfdi:Receptor").Item(0); if (xmlNode?.Attributes != null) { try { rfcReceptorXml = xmlNode.Attributes["rfc"].Value; } catch { } if (string.IsNullOrEmpty(rfcReceptorXml)) { try { rfcReceptorXml = xmlNode.Attributes["Rfc"].Value; } catch { } } } _dbe.Conectar(); _dbe.CrearComando("SELECT IDEEMI FROM Cat_Emisor WHERE RFCEMI = @rfc"); _dbe.AsignarParametroCadena("@rfc", rfcReceptorXml); dr = _dbe.EjecutarConsulta(); if (!dr.Read()) { _dbe.Desconectar(); throw new Exception("El comprobante no pudo generarse: El RFC receptor del comprobante (" + rfcReceptorXml + ") no se encuentra registrado en el portal."); } _dbe.Desconectar(); #endregion #region Validacion RFC Proveedor var rfcWeb = ""; _dbe.Conectar(); _dbe.CrearComando("SELECT id_Receptor FROM Cat_Proveedores WHERE userProveedor = @user"); _dbe.AsignarParametroCadena("@user", Session["USERNAME"].ToString()); dr = _dbe.EjecutarConsulta(); if (dr.Read()) { rfcWeb = dr["id_Receptor"].ToString(); _dbe.Desconectar(); var rfcEmisorXml = ""; xmlNode = xDoc.GetElementsByTagName("cfdi:Emisor").Item(0); if (xmlNode?.Attributes != null) { try { rfcEmisorXml = xmlNode.Attributes["rfc"].Value; } catch { } if (string.IsNullOrEmpty(rfcEmisorXml)) { try { rfcEmisorXml = xmlNode.Attributes["Rfc"].Value; } catch { } } } if (!rfcEmisorXml.Equals(rfcWeb, StringComparison.OrdinalIgnoreCase)) { throw new Exception("El comprobante no pudo generarse: El RFC emisor del comprobante (" + rfcEmisorXml + ") es distinto al RFC del proveedor actual (" + rfcWeb + ")"); } } _dbe.Desconectar(); #endregion } #region Validacion TipoDeComprobante != Pago var tipoComprobante = ""; xmlNode = xDoc.DocumentElement; if (xmlNode?.Attributes != null) { try { tipoComprobante = xmlNode.Attributes["tipoDeComprobante"].Value; } catch { } if (string.IsNullOrEmpty(tipoComprobante)) { try { tipoComprobante = xmlNode.Attributes["TipoDeComprobante"].Value; } catch { } } } if (tipoComprobante.Equals("P", StringComparison.OrdinalIgnoreCase) || tipoComprobante.Equals("Pago", StringComparison.OrdinalIgnoreCase)) { throw new Exception("El comprobante es de pago, para subir complementos utilice la página de Consulta de Documentos"); } #endregion var inner = xDoc.OuterXml; var base64 = ControlUtilities.EncodeStringToBase64(inner); var response = ws.RecibeComprobante(base64, idUserWs, Session["IDENTEMI"].ToString(), true, pdf != null, bytesOrden != null ? Path.GetFileName(orden.FileName) : ""); if (response != null && response[0] != null && response[1] != null) { var id = response[0].ToString(); var estado = false; bool.TryParse(response[1].ToString(), out estado); if (estado) { var serverUrlPdf = ""; var serverUrlOrden = ""; if (pdf != null || orden != null) { var sql = ""; sql = "SELECT TOP 1 dirdocs, emailRecepBcc FROM Par_ParametrosSistema ORDER BY idparametro DESC"; _dbe.Conectar(); _dbe.CrearComando(sql); dr = _dbe.EjecutarConsulta(); if (dr.Read()) { var rootDir = dr["dirdocs"].ToString(); _recepBcc = dr["emailRecepBcc"].ToString().Trim(); rootDir = rootDir.Replace("docus", ""); _dbe.Desconectar(); sql = @"SELECT PDFARC, ORDENARC FROM Dat_Archivos WHERE IDEFAC = @ID"; _dbr.Conectar(); _dbr.CrearComando(sql); _dbr.AsignarParametroCadena("@ID", id); dr = _dbr.EjecutarConsulta(); if (dr.Read()) { try { serverUrlPdf = rootDir + @"\" + (dr["PDFARC"].ToString()); //Server.MapPath("~/" + dr["PDFARC"]); serverUrlOrden = rootDir + @"\" + (dr["ORDENARC"].ToString()); //Server.MapPath("~/" + dr["ORDENARC"]); serverUrlPdf = Path.GetFullPath(serverUrlPdf); serverUrlOrden = Path.GetFullPath(serverUrlOrden); try { File.WriteAllBytes(serverUrlPdf, bytesPdf); } catch { if (pdf != null) { pdf.SaveAs(serverUrlPdf); } } try { File.WriteAllBytes(serverUrlOrden, bytesOrden); } catch { if (orden != null) { orden.SaveAs(serverUrlOrden); } } } catch (Exception ex) { throw new Exception("No se pudo guardar el PDF en la ruta especificada. Causa: " + ex.Message); } } else { throw new Exception("No existe ruta de PDF asignada para el comprobante."); } _dbr.Desconectar(); } } if (archivosAdicionales != null) { var listAdicionales = (List <object[]>)archivosAdicionales; _dbe.Conectar(); _dbe.CrearComando(@"SELECT [dirdocs] FROM [Par_ParametrosSistema]"); var _varSql = _dbe.Comando.CommandText; dr = _dbe.EjecutarConsulta(); var _rutaDoc = ""; while (dr.Read()) { _rutaDoc = dr["dirdocs"].ToString().Trim(); } _dbe.Desconectar(); var rutaRuc = "recepcion/" + (_rutaDoc.Contains(Session["IDENTEMI"].ToString()) ? Session["IDENTEMI"].ToString() : "") + "/"; var subcarpeta = Control.Localization.Now.ToString("yyyy/MM/dd"); subcarpeta = (_rutaDoc + rutaRuc + subcarpeta + "/ADICIONALES/" + id + "/").Replace("/", @"\"); Directory.CreateDirectory(subcarpeta); foreach (var item in listAdicionales) { var bytes = (byte[])item[0]; var dataType = (string)item[1]; var fileName = (string)item[2]; var filePath = subcarpeta + @"\" + fileName; var virtualPath = @"docus\" + filePath.Replace(_rutaDoc, ""); File.WriteAllBytes(filePath, bytes); if (File.Exists(filePath)) { _dbr.Conectar(); _dbr.CrearComando("INSERT INTO Dat_ArchivosAdicionales (idComprobante,path,dataType) OUTPUT inserted.idArchivo VALUES (@idComprobante,@path,@dataType)"); _dbr.AsignarParametroCadena("@idComprobante", id); _dbr.AsignarParametroCadena("@path", virtualPath); _dbr.AsignarParametroCadena("@dataType", dataType); dr = _dbr.EjecutarConsulta(); if (dr.Read()) { // OK } _dbr.Desconectar(); } } } if (response[2] != null) { try { var arrayMail = (object[])response[2]; var _servidor = (string)arrayMail[0]; var _puerto = (int)arrayMail[1]; var _ssl = (bool)arrayMail[2]; var _emailCredencial = (string)arrayMail[3]; var _passCredencial = (string)arrayMail[4]; var _emailEnviar = (string)arrayMail[5]; var emails = (string)arrayMail[6]; var _bcc = (string)arrayMail[7]; var _cc = (string)arrayMail[8]; // _recepBcc; if (string.IsNullOrEmpty(_cc)) { _cc = _recepBcc; } else { _cc += "," + _recepBcc; } var asunto = (string)arrayMail[9]; var mensaje = (string)arrayMail[10]; var _em = new SendMail(); _em.ServidorSmtp(_servidor, _puerto, _ssl, _emailCredencial, _passCredencial); _em.LlenarEmail(_emailEnviar, emails, _bcc, _cc, asunto, mensaje); _em.Adjuntar(xml, ((HttpPostedFile)comprobante.Value[0]).FileName); _em.Adjuntar(bytesPdf, Path.GetFileName(serverUrlPdf)); _em.Adjuntar(bytesOrden, Path.GetFileName(serverUrlOrden)); if (archivosAdicionales != null) { var listAdicionales = (List <object[]>)archivosAdicionales; listAdicionales.ForEach(x => _em.Adjuntar((byte[])x[0], (string)x[2])); } _em.EnviarEmail(); } catch (Exception ex) { } } if (!string.IsNullOrEmpty(idTipoProveedor)) { try { _dbr.Conectar(); _dbr.CrearComando("UPDATE Dat_General SET id_TipoProveedor = @idProv WHERE idComprobante = @id"); _dbr.AsignarParametroCadena("@idProv", idTipoProveedor); _dbr.AsignarParametroCadena("@id", id); _dbr.EjecutarConsulta1(); } catch (Exception ex) { } finally { _dbr.Desconectar(); } } try { _dbr.Conectar(); _dbr.CrearComando("UPDATE Dat_General SET observaciones = @observaciones WHERE idComprobante = @id"); _dbr.AsignarParametroCadena("@observaciones", observaciones); _dbr.AsignarParametroCadena("@id", id); _dbr.EjecutarConsulta1(); } catch (Exception ex) { } finally { _dbr.Desconectar(); } } else { throw new Exception("El comprobante no pudo generarse: " + ws.ObtenerMensaje() + ". Para más información consulte la trama con ID " + id); } } else { throw new Exception("El comprobante no pudo generarse: " + ws.ObtenerMensaje()); } } catch (Exception ex) { mensajeFallidos.Add(new KeyValuePair <int, string>(comprobante.Key, ex.Message)); } } if (mensajeFallidos.Count > 0) { var html = "<ul>"; foreach (var item in mensajeFallidos) { html += "<li><b>" + item.Key + "</b>: " + item.Value + "</li>"; } html += "</ul>"; (Master as SiteMaster).MostrarAlerta(this, "Ocurrió uno o más errores al subir los comprobantes:<br>" + html, 4, null); } else { var urlDocus = "~/recepcion/Documentos.aspx"; (Master as SiteMaster).MostrarAlerta(this, "Todos los comprobantes se generaron con éxito", 2, null, "window.location.href = '" + ResolveClientUrl(urlDocus) + "';"); } Session["_files"] = new Dictionary <int, object[]>(); tbComprobantes.Text = "0"; CreateControls(); } } }
/// <summary> /// Creates the controls. /// </summary> private void CreateControls() { var items = 0; int.TryParse(tbComprobantes.Text, out items); panelComprobantes.Controls.Clear(); for (var i = 1; i <= items; i++) { if (!((Dictionary <int, object[]>)Session["_files"]).ContainsKey(i)) { ((Dictionary <int, object[]>)Session["_files"]).Add(i, new object[] { null, null, null, null }); } #region Definicion de Panel var content = new HtmlGenericControl("div"); content.ID = "panelComprobante" + i; content.Attributes["class"] = "panel panel-primary"; content.Style["background-color"] = "rgba(245, 245, 245, 0)"; var heading = new HtmlGenericControl("div"); SqlDataSourceTipoProveedor.ConnectionString = _dbr.CadenaConexion; var ddlTipoProveedor = new System.Web.UI.WebControls.DropDownList { CssClass = "form-control", DataSourceID = "SqlDataSourceTipoProveedor", DataValueField = "IdTipo", DataTextField = "nombre", ID = "ddlTipoProveedor" + i }; ddlTipoProveedor.Attributes.Add("style", "text-align:center;display:" + (Convert.ToBoolean(Session["_isWorkflow"]) ? "inline" : "none")); ddlTipoProveedor.ClientIDMode = ClientIDMode.Static; ddlTipoProveedor.Visible = false; //ddlTipoProveedor.Visible = Convert.ToBoolean(Session["_isWorkflow"]); var tbObservaciones = new System.Web.UI.WebControls.TextBox { CssClass = "form-control", ID = "tbObservaciones" + i }; tbObservaciones.Attributes.Add("style", "text-align:center;"); tbObservaciones.Attributes.Add("placeholder", "OBSERVACIONES OPCIONALES PARA EL COMPROBANTE " + i); tbObservaciones.ClientIDMode = ClientIDMode.Static; heading.Attributes["class"] = "panel panel-heading"; var innerRow1 = new HtmlGenericControl("div"); innerRow1.Attributes["class"] = "row panel-title"; var innerCol1 = new HtmlGenericControl("div"); innerCol1.Attributes["class"] = "col-md-6"; innerCol1.Attributes["style"] = "text-align: left;"; var innerCol2 = new HtmlGenericControl("div"); innerCol2.Attributes["class"] = "col-md-2"; var innerCol3 = new HtmlGenericControl("div"); innerCol3.Attributes["class"] = "col-md-4"; var h3 = new System.Web.UI.HtmlControls.HtmlGenericControl("span"); h3.InnerText = "Comprobante " + i + ""; var span3 = new System.Web.UI.HtmlControls.HtmlGenericControl("span"); span3.InnerText = Convert.ToBoolean(Session["_isWorkflow"]) ? "Tipo de Proveedor: " : ""; span3.Visible = false; var innerRow2 = new HtmlGenericControl("div"); innerRow2.Attributes["class"] = "row"; var innerCol1_2 = new HtmlGenericControl("div"); innerCol1_2.Attributes["class"] = "col-md-12"; innerCol1_2.Attributes["style"] = "text-align: center;"; innerCol1_2.Controls.Add(tbObservaciones); innerCol1.Controls.Add(h3); innerCol2.Controls.Add(span3); innerCol2.Visible = Session["IDENTEMI"].ToString().Equals("HIM890120VEA") || Session["IDENTEMI"].ToString().Equals("SIH071204N90") || Session["IDENTEMI"].ToString().Equals("LAN7008173R5"); innerCol3.Controls.Add(ddlTipoProveedor); innerCol3.Visible = Session["IDENTEMI"].ToString().Equals("HIM890120VEA") || Session["IDENTEMI"].ToString().Equals("SIH071204N90") || Session["IDENTEMI"].ToString().Equals("LAN7008173R5"); innerRow1.Controls.Add(innerCol1); innerRow1.Controls.Add(innerCol2); innerRow1.Controls.Add(innerCol3); innerRow2.Controls.Add(innerCol1_2); heading.Controls.Add(innerRow1); heading.Controls.Add(innerRow2); var body = new HtmlGenericControl("div"); body.Attributes["class"] = "panel-body"; #endregion #region Division de rows var rowFilesFixed = new HtmlGenericControl("div"); rowFilesFixed.ID = "rowFixed" + i; rowFilesFixed.Attributes["class"] = "row"; var emptyRow = new HtmlGenericControl("div"); emptyRow.Attributes["class"] = "row"; emptyRow.InnerHtml = " "; var rowDropZone = new HtmlGenericControl("div"); rowDropZone.ID = "rowDropZone" + i; rowDropZone.Attributes["class"] = "row"; var colFilesFixed = new HtmlGenericControl("div"); colFilesFixed.ID = "colFixed" + i; colFilesFixed.Attributes["class"] = "col-md-12"; var colDropzone = new HtmlGenericControl("div"); colDropzone.ID = "colDropzone" + i; colDropzone.Attributes["class"] = "col-md-12"; var collapseDropZone = new HtmlGenericControl("div"); collapseDropZone.ID = "collapseDropZone" + i; collapseDropZone.Attributes["class"] = "collapse"; collapseDropZone.ClientIDMode = ClientIDMode.Static; var rowBtnCollapse = new HtmlGenericControl("div"); rowBtnCollapse.ID = "rowBtnCollapse" + i; rowBtnCollapse.InnerHtml = "<button id='bCollapseAdicionales' runat='server' class='btn btn-primary btn-xs' type='button' data-toggle='collapse' data-target='#" + collapseDropZone.ClientID + "' aria-expanded='false' aria-controls='" + collapseDropZone.ClientID + "' visible='false'><span class='glyphicon glyphicon-plus-sign' aria-hidden='true'></span> Archivos Adicionales</button>"; #endregion #region Titulos var rowTitulos = new HtmlGenericControl("div"); rowTitulos.ID = "rowTitulo" + i; rowTitulos.Attributes["class"] = "row"; var colTitulo1 = new HtmlGenericControl("div"); colTitulo1.ID = "colTitulo" + i + "_1"; colTitulo1.Attributes["class"] = "col-md-4"; colTitulo1.InnerHtml = "ARCHIVO XML *:"; var colTitulo2 = new HtmlGenericControl("div"); colTitulo2.ID = "colTitulo" + i + "_2"; colTitulo2.Attributes["class"] = "col-md-4"; colTitulo2.InnerHtml = "ARCHIVO PDF *:"; var colTitulo3 = new HtmlGenericControl("div"); colTitulo3.ID = "colTitulo" + i + "_3"; colTitulo3.Attributes["class"] = "col-md-4"; colTitulo3.InnerHtml = "ORDEN DE COMPRA (OPCIONAL):"; #endregion #region Columnas var rowFields = new HtmlGenericControl("div"); rowFields.ID = "rowComprobante" + i; rowFields.Attributes["class"] = "row"; var colXml = new HtmlGenericControl("div"); colXml.ID = "colXML" + i; colXml.Attributes["class"] = "col-md-4"; var colPdf = new HtmlGenericControl("div"); colPdf.ID = "colPDF" + i; colPdf.Attributes["class"] = "col-md-4"; var colOrden = new HtmlGenericControl("div"); colOrden.ID = "colOrden" + i; colOrden.Attributes["class"] = "col-md-4"; #endregion #region Componentes var xml = new AsyncFileUpload(); xml.ID = "xml_" + i; xml.Style["text-align"] = "center"; xml.UploadedComplete += AsyncFileUpload_UploadedComplete; xml.OnClientUploadStarted = "xmlUpload"; xml.OnClientUploadError = "UploadError"; var pdf = new AsyncFileUpload(); pdf.ID = "pdf_" + i; pdf.Style["text-align"] = "center"; pdf.UploadedComplete += AsyncFileUpload_UploadedComplete; pdf.OnClientUploadStarted = "pdfUpload"; pdf.OnClientUploadError = "UploadError"; var orden = new AsyncFileUpload(); orden.ID = "orden_" + i; orden.Style["text-align"] = "center"; orden.UploadedComplete += AsyncFileUpload_UploadedComplete; orden.OnClientUploadStarted = "ordenUpload"; orden.OnClientUploadError = "UploadError"; var adicionales = new HtmlGenericControl("div"); adicionales.ID = "adicionales_" + i; adicionales.Attributes["class"] = "dropzone"; adicionales.Attributes["maxFiles"] = "10"; adicionales.Attributes["maxFileSizeMb"] = "10"; adicionales.Attributes["extraParam"] = i.ToString(); adicionales.Attributes["idBlockedButton"] = lbSubir.ClientID; adicionales.Attributes["message"] = "<button type='button' class='btn btn-primary' data-toggle='tooltip' data-placement='bottom' title='Haga click o arrastre/suelte aquí para agregar archivos adicionales'><i class='fa fa-plus-square-o' aria-hidden='true'></i> Agregar</button>"; var url = ResolveClientUrl("~/recepcion/DropzoneHandler.ashx"); var urlAjax = ResolveClientUrl("~/recepcion/SubirArchivos.aspx") + "/DropZone_UploadedComplete"; adicionales.Attributes["url"] = url; adicionales.Attributes["urlAjax"] = urlAjax; #endregion #region Creacion de layout rowTitulos.Controls.Add(colTitulo1); rowTitulos.Controls.Add(colTitulo2); rowTitulos.Controls.Add(colTitulo3); colXml.Controls.Add(xml); colPdf.Controls.Add(pdf); colOrden.Controls.Add(orden); rowFields.Controls.Add(colXml); rowFields.Controls.Add(colPdf); rowFields.Controls.Add(colOrden); colFilesFixed.Controls.Add(rowTitulos); colFilesFixed.Controls.Add(rowFields); collapseDropZone.Controls.Add(adicionales); colDropzone.Controls.Add(rowBtnCollapse); colDropzone.Controls.Add(collapseDropZone); rowFilesFixed.Controls.Add(colFilesFixed); rowDropZone.Controls.Add(colDropzone); body.Controls.Add(rowFilesFixed); body.Controls.Add(emptyRow); body.Controls.Add(rowDropZone); content.Controls.Add(heading); content.Controls.Add(body); panelComprobantes.Controls.Add(content); #endregion } lbSubir.Visible = (items > 0); }