Пример #1
0
        /// <summary>
        /// Método encargado de Guardar la Requisición
        /// </summary>
        /// <returns></returns>
        public RetornoOperacion GuardaRequisicion()
        {
            //Declarando Objeto de Retorno
            RetornoOperacion result = new RetornoOperacion();

            //Obteniendo Fecha
            DateTime fecha_entrega_req = DateTime.MinValue;

            DateTime.TryParse(txtFechaEntReq.Text, out fecha_entrega_req);

            //Inicializando Bloque Transaccional
            using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
            {
                //Validando que Exista la Requisición
                if (this._id_requisicion > 0)
                {
                    //Instanciando Requisición
                    using (Requisicion req = new Requisicion(this._id_requisicion))
                    {
                        //Validando que Exista la Requisición
                        if (req.id_requisicion > 0)
                        {
                            //Editando Requisición
                            result = req.EditaRequisicion(req.no_requisicion, ((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor,
                                                          this._id_servicio, (Requisicion.Estatus)Convert.ToByte(ddlEstatus.SelectedValue), txtReferencia.Text, Convert.ToByte(ddlTipo.SelectedValue),
                                                          Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtAlmacen.Text, "ID:", 1, "0")),
                                                          req.id_usuario_solicitante, req.fecha_solitud, fecha_entrega_req, req.fecha_entrega,
                                                          ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);
                        }

                        //Validando que la Operación fuese Exitosa
                        if (result.OperacionExitosa)
                        {
                            //Completando Transacción
                            trans.Complete();
                        }
                    }
                }
                else
                {
                    //Insertando la Requisición
                    result = Requisicion.InsertaRequisicion(0, ((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor,
                                                            this._id_servicio, Convert.ToByte(ddlEstatus.SelectedValue), txtReferencia.Text, Convert.ToByte(ddlTipo.SelectedValue),
                                                            Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtAlmacen.Text, "ID:", 1, "0")),
                                                            ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario, TSDK.Base.Fecha.ObtieneFechaEstandarMexicoCentro(),
                                                            fecha_entrega_req, DateTime.MinValue, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);

                    //Validando que la Operación fuese Exitosa
                    if (result.OperacionExitosa)
                    {
                        //Obteniendo Requisición
                        int idRequisicion = result.IdRegistro;

                        //Validando que Existan Orden y Actividad
                        if (this._id_orden_actividad > 0 && this._id_orden > 0)
                        {
                            //Insertando Requisición de Actividad de la Orden de Trabajo
                            result = OrdenTrabajoActividadRequisicion.InsertaOrdenActividadRequisicion(this._id_orden, this._id_orden_actividad,
                                                                                                       idRequisicion, TSDK.Base.Fecha.ObtieneFechaEstandarMexicoCentro(), ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);

                            //Validando que la Operación fuese Exitosa
                            if (result.OperacionExitosa)
                            {
                                //Instanciando Requisición
                                result = new RetornoOperacion(idRequisicion);
                            }
                        }

                        //Validando que la Operación fuese Exitosa
                        if (result.OperacionExitosa)
                        {
                            //Completando Transacción
                            trans.Complete();
                        }
                    }
                }
            }

            //Validando que la Operación fuese Exitosa
            if (result.OperacionExitosa)
            {
                //Asignando Valores
                this._id_requisicion = result.IdRegistro;

                //Inicializando Control
                inicializaControlUsuario();
            }

            //Mostrando Mensaje de Operación
            //ScriptServer.MuestraNotificacion(this, result, ScriptServer.PosicionNotificacion.AbajoDerecha);

            //Devolviendo Resultado Obtenido
            return(result);
        }