public bool InsertarIncidencia(IncidenciasProduccion incidencia)
        {
            using (SQLConfiguration config = new SQLConfiguration())
            {
                config.OpenConnection();

                SqlCommand command = new SqlCommand("usp_InsertarIncidencia",
                                                    config.GetConnection());

                command.CommandType = CommandType.StoredProcedure;

                command.Parameters.Add("@idIncidenciaProduccion", SqlDbType.VarChar, 40).Value = incidencia.idIncidenciaProduccion;
                command.Parameters.Add("@nombreIncidencia", SqlDbType.VarChar, 60).Value       = incidencia.NombreIncidencia;

                command.Parameters.Add("@DescripcionIncidencia", SqlDbType.VarChar, 200).Value = incidencia.DescripcionIncidencia;

                command.Parameters.Add("@idUsuario", SqlDbType.Int).Value = incidencia.idUsuario;

                bool queryIsOk = command.ExecuteNonQuery() == 1 ? true : false;

                config.Dispose();
                command.Dispose();
                return(queryIsOk);
            }
        }
        public bool InsertarIncidencia(IncidenciasProduccion incidencia)
        {
            bool queryIsOk = new CommandSender.Builder()
                             .SetProcedureName("usp_InsertarIncidencia")
                             .WithParameter <string>("idIncidenciaProduccion", incidencia.idIncidenciaProduccion)
                             .WithParameter <string>("nombreIncidencia", incidencia.NombreIncidencia)
                             .WithParameter <string>("DescripcionIncidencia", incidencia.DescripcionIncidencia)
                             .WithParameter <int>("idUsuario", incidencia.idUsuario)
                             .Build()
                             .Excecute() == 1 ? true : false;

            SQLConfiguration.Close();
            return(queryIsOk);
        }
        protected void AgregarRequerimientoEvent(object sender, EventArgs e)
        {
            if (TipoRequerimientoCmbx.SelectedItem.Text == incidencia)
            {
                modoDeTrabajo.Enabled         = false;
                ProgramadoresCombobox.Enabled = true;
                BindData(ProgramadoresCombobox, _unitOfWork.Requerimientos.ObtenerProgramadoresConId());

                IncidenciasProduccion incidencia = new IncidenciasProduccion()
                {
                    idIncidenciaProduccion = NoRequerimientoTextbox.Text,
                    NombreIncidencia       = NombreRequerimientoTextbox.Text,
                    DescripcionIncidencia  = "",
                    idUsuario = Int32.Parse(ProgramadoresCombobox.SelectedItem.Value)
                };

                bool isQueryDonw = _unitOfWork.Requerimientos.InsertarIncidencia(incidencia);
                if (isQueryDonw)
                {
                    ClearControls(sender, e);
                }
                return;
            }

            List <ListItem> procesosSelecionados = ProcesosCheckboxes.Items.Cast <ListItem>()
                                                   .Where(li => li.Selected)
                                                   .ToList();

            List <ListItem> permisosSelecionados = PermisosCheckboxes.Items.Cast <ListItem>()
                                                   .Where(li => li.Selected)
                                                   .ToList();

            List <PermisosPorRequerimiento> permisos = new List <PermisosPorRequerimiento>();

            permisosSelecionados
            .ForEach(p =>
            {
                permisos.Add(new PermisosPorRequerimiento()
                {
                    idPermisoPU   = Int32.Parse(p.Value),
                    EstadoPermiso = false
                });
            });

            List <ProcesosPorRequerimiento> procesos = new List <ProcesosPorRequerimiento>();

            procesosSelecionados
            .ForEach(p =>
            {
                procesos.Add(new ProcesosPorRequerimiento()
                {
                    idProceso     = Int32.Parse(p.Value),
                    EstadoProceso = p.Selected
                });
            });


            int sinEmpezar = 1;

            Requerimientos requerimiento = new Requerimientos()
            {
                idRequerimiento     = NoRequerimientoTextbox.Text,
                NombreRequerimiento = NombreRequerimientoTextbox.Text,
                RutaRequerimiento   = GetServerRoute(RutaRequerimientoFileUpload.FileName),
                idArea = Int32.Parse(AreasSolicitantesCombobox.SelectedItem.Value),
                idTipoRequerimiento   = Int32.Parse(TipoRequerimientoCmbx.SelectedItem.Value),
                idEstadoRequerimiento = sinEmpezar,
                Prioridad             = "Alta",
                idUsuario             = modoDeTrabajo.SelectedItem.Text == "Individual" ? Int32.Parse(ProgramadoresCombobox.SelectedItem.Value) : 0,
            };



            if (modoDeTrabajo.SelectedItem.Text == "Equipo")
            {
                int  idLider = _unitOfWork.LideresProyecto.GetAll().LastOrDefault().idLiderProyecto;
                bool insertEquiposQueryIsOk = _unitOfWork
                                              .Requerimientos
                                              .InsertarEquiposDeTrabajo(idLider, programadoresEnMemoria);
                return;
            }


            bool Ok = _unitOfWork.Requerimientos.InsertarRequerimiento(requerimiento);

            if (Ok)
            {
                SavePdfFile();
                programmerWarning.Text = "Se inserto";
                ClearControls(sender, e);

                programmerWarning.Visible = true;
                return;
            }
        }