Example #1
0
        protected void btnGenerarOrdenProduccion_Click(object sender, EventArgs e)
        {
            List <string> documentos = new List <string>();

            linkOrdenProd.Text    = string.Empty;
            linkOrdenProd.Visible = false;
            foreach (GridViewRow row in gridOrdenesLanzadasAsignadas.Rows)
            {
                bool check = ((CheckBox)row.FindControl("chkSeleccionar")).Checked;
                if (check)
                {
                    //Cargar datos de grid
                    string orden        = row.Cells[1].Text.Trim();
                    string modeloSia    = row.Cells[2].Text;
                    string modeloSap    = row.Cells[3].Text;
                    string taller       = row.Cells[4].Text;
                    int    cantidad     = int.Parse(row.Cells[5].Text);
                    string fechaRetorno = row.Cells[10].Text;
                    string fechaEmision = DateTime.Now.ToShortDateString();

                    //Cargar Detalle de Modelo de contrato
                    DataRow filaModelo = _contratoBll.ListarDetalleModeloContrato(int.Parse(hidContrato.Value), modeloSia).Rows[0];
                    string  maquina    = filaModelo["Maquina"].ToString();
                    string  nroPo      = filaModelo["numero_p_o"].ToString();
                    string  material   = filaModelo["Material_AA"].ToString();
                    string  linea      = filaModelo["Linea"].ToString();
                    string  titulo     = filaModelo["Titulo"].ToString();

                    documentos.Add(GenerarDocumentoOrdenProduccion(int.Parse(hidContrato.Value), modeloSia, orden, taller,
                                                                   fechaRetorno, cantidad, maquina, linea, modeloSap, nroPo,
                                                                   titulo, material));
                }
            }
            if (documentos.Count > 0)
            {
                string docFinal = @"C:\inetpub\wwwroot\PSIAA\Reports\Prod\OrdenProduccion_" + hidContrato.Value + ".pdf";
                documentos.Sort((a, b) => a.CompareTo(b));
                Helpers.PdfMerger.MergeFiles(documentos, docFinal, chkAgregarCopiaOP.Checked);
                if (File.Exists(docFinal))
                {
                    string server = ConfigurationManager.AppSettings["servidor"];
                    linkOrdenProd.NavigateUrl = "http://" + server + "/PSIAA/Reports/Prod/OrdenProduccion_" + hidContrato.Value + ".pdf";
                    linkOrdenProd.Text        = "OrdenProduccion_" + hidContrato.Value + "_" + usuarioActual + ".pdf";
                    linkOrdenProd.Visible     = true;
                    EliminarDocumentosUnitarios(documentos);
                    lblAvisoSeleccion.Visible = false;
                }
            }
            else
            {
                lblAvisoSeleccion.Visible = true;
            }
        }