Exemplo n.º 1
0
        /// <summary>
        /// GET Operation
        /// Todos las regiones marcan un if que va a permitir determinar cuál operación hacer dentro de la base de datos.
        /// De esta manera, todas tienen una funcionalidad casi igual y el código es muy parecido entre ellos, solamente
        /// elige entre el método a llamar en la clase Operations.
        /// </summary>
        /// <param name="context"></param>
        /// <param name="request_instance"></param>
        private void READ(HttpContext context, string request_instance)
        {
            //HTTP Request - //http://server.com/virtual directory/empleado?id={id}
            //http://localhost/RestWebService/empleado
            //Formato de la forma de hacer el request
            try
            {
                #region Empleado
                if (request_instance == "empleado")
                {
                    string _cedula_temp = context.Request["cedula"]; //obtiene el valor del parámetro cedula
                    if (_cedula_temp == null)                        //si no hay parámetro, obtener todos los empleados
                    {
                        List <L3MDB.Empleado> lista_empleados = operations.GetEmpleados();
                        string serializedList = Serialize(lista_empleados);
                        context.Response.ContentType = "text/xml";
                        WriteResponse(serializedList);
                    }
                    else //si hay parámetro cedula, obtener solo 1 empleado
                    {
                        int _cedula = int.Parse(_cedula_temp);
                        emp = operations.GetEmpleado(_cedula);
                        if (emp == null)
                        {
                            context.Response.Write("No Empleado Found" + context.Request["cedula"]);
                        }

                        string serializedEmpleado = Serialize(emp);
                        context.Response.ContentType = "text/xml";
                        WriteResponse(serializedEmpleado);
                    }
                }
                #endregion
                #region Sucursal
                else if (request_instance == "sucursal")
                {
                    string _codigo_temp = context.Request["codigo"];
                    if (_codigo_temp == null)
                    {
                        List <L3MDB.Sucursal> lista_sucursales = operations.GetSucursales();
                        string serializedList = Serialize(lista_sucursales);
                        context.Response.ContentType = "text/xml";
                        WriteResponse(serializedList);
                    }
                    else
                    {
                        string _codigo = _codigo_temp;
                        suc = operations.GetSucursal(_codigo);
                        if (suc == null)
                        {
                            context.Response.Write(_codigo + "No Sucursal Found" + context.Request["codigo"]);
                        }

                        string serializedSucursal = Serialize(suc);
                        context.Response.ContentType = "text/xml";
                        WriteResponse(serializedSucursal);
                    }
                }
                #endregion
                #region Categoria
                else if (request_instance == "categoria")
                {
                    string _id_temp = context.Request["id"];
                    if (_id_temp == null)
                    {
                        List <L3MDB.Categoria> lista_categorias = operations.GetCategorias();
                        string serializedList = Serialize(lista_categorias);
                        context.Response.ContentType = "text/xml";
                        WriteResponse(serializedList);
                    }
                    else
                    {
                        int _id = int.Parse(_id_temp);

                        //HTTP Request Type - GET"
                        //Performing Operation - READ"
                        cat = operations.GetCategoria(_id);
                        if (cat == null)
                        {
                            context.Response.Write(_id + "No Categoria Found" + _id_temp);
                        }

                        string serializedCategoria = Serialize(cat);
                        context.Response.ContentType = "text/xml";
                        WriteResponse(serializedCategoria);
                    }
                }
                #endregion
                #region Compra
                else if (request_instance == "compra")
                {
                    string _codigotemp      = context.Request["codigo"];
                    string _fecha_inicial   = context.Request["fecha_inicial"];
                    string _fecha_final     = context.Request["fecha_final"];
                    string _codigo_sucursal = context.Request["codigo_sucursal"];
                    if (_codigotemp == null)
                    {
                        if (_codigo_sucursal == null)
                        {
                            if (_fecha_inicial != null && _fecha_final != null)
                            {
                                List <Operations.Gasto> lista_compras = operations.GetGastos("", _fecha_inicial, _fecha_final);
                                string serializedList = Serialize(lista_compras);
                                context.Response.ContentType = "text/xml";
                                WriteResponse(serializedList);
                            }
                            else
                            {
                                List <L3MDB.Compra> lista_compras = operations.GetCompras();
                                string serializedList             = Serialize(lista_compras);
                                context.Response.ContentType = "text/xml";
                                WriteResponse(serializedList);
                            }
                        }
                        else
                        {
                            if (_fecha_inicial != null && _fecha_final != null)
                            {
                                List <Operations.Gasto> lista_compras = operations.GetGastos(_codigo_sucursal, _fecha_inicial, _fecha_final);
                                string serializedList = Serialize(lista_compras);
                                context.Response.ContentType = "text/xml";
                                WriteResponse(serializedList);
                            }
                            else
                            {
                                List <L3MDB.Compra> lista_compras = operations.GetCompras();
                                string serializedList             = Serialize(lista_compras);
                                context.Response.ContentType = "text/xml";
                                WriteResponse(serializedList);
                            }
                        }
                    }
                    else
                    {
                        int _codigo = int.Parse(_codigotemp);

                        //HTTP Request Type - GET"
                        //Performing Operation - READ"
                        com = operations.GetCompra(_codigo);
                        if (com == null)
                        {
                            context.Response.Write(_codigo + "No Compra Found" + _codigotemp);
                        }

                        string serializedCompra = Serialize(com);
                        context.Response.ContentType = "text/xml";
                        WriteResponse(serializedCompra);
                    }
                }
                #endregion
                #region Horas
                else if (request_instance == "horas")
                {
                    string _horastemp = context.Request["id_semana"];
                    if (_horastemp == null)
                    {
                        List <L3MDB.Horas> lista_horas    = operations.GetHorases();
                        string             serializedList = Serialize(lista_horas);
                        context.Response.ContentType = "text/xml";
                        WriteResponse(serializedList);
                    }
                    else
                    {
                        string             _horas           = _horastemp;
                        List <L3MDB.Horas> listaHorasSemana = new List <L3MDB.Horas>();
                        //HTTP Request Type - GET"
                        //Performing Operation - READ"
                        listaHorasSemana = operations.GetHoras(_horas);
                        if (listaHorasSemana.Count == 0)
                        {
                            context.Response.Write(_horas + "No Horas Found" + _horastemp);
                        }

                        string serializedHoras = Serialize(listaHorasSemana);
                        context.Response.ContentType = "text/xml";
                        WriteResponse(serializedHoras);
                    }
                }
                #endregion
                #region Producto
                else if (request_instance == "producto")
                {
                    string _codigo_barrastemp   = context.Request["codigo_barras"];
                    string _codigo_sucursaltemp = context.Request["codigo_sucursal"];
                    string _todos = context.Request["Todos"];
                    if (_codigo_barrastemp == null)
                    {
                        if (_codigo_sucursaltemp == null)
                        {
                            if (_todos == null)
                            {
                                List <L3MDB.Producto> lista_productos = operations.GetProductos();
                                string serializedList = Serialize(lista_productos);
                                context.Response.ContentType = "text/xml";
                                WriteResponse(serializedList);
                            }
                            else
                            {
                                List <Operations.ReporteProductos> lista_productos = operations.GetProductosTodos();
                                string serializedList = Serialize(lista_productos);
                                context.Response.ContentType = "text/xml";
                                WriteResponse(serializedList);
                            }
                        }
                        else
                        {
                            List <Operations.ReporteProductosSucursal> lista_productos = operations.GetProductosporSucursal(_codigo_sucursaltemp);
                            string serializedList = Serialize(lista_productos);
                            context.Response.ContentType = "text/xml";
                            WriteResponse(serializedList);
                        }
                    }
                    else
                    {
                        int _codigo_barras = int.Parse(_codigo_barrastemp);

                        //HTTP Request Type - GET"
                        //Performing Operation - READ"
                        produ = operations.GetProducto(_codigo_barras, _codigo_sucursaltemp);
                        if (produ == null)
                        {
                            context.Response.Write(_codigo_barras + "No Producto Found" + _codigo_barrastemp);
                        }

                        string serializedProducto = Serialize(produ);
                        context.Response.ContentType = "text/xml";
                        WriteResponse(serializedProducto);
                    }
                }
                #endregion
                #region Productos_en_compra
                else if (request_instance == "productos_en_compra")
                {
                    string _codigo_compratemp   = context.Request["codigo_compra"];
                    string _codigo_productotemp = context.Request["codigo_producto"];
                    if (_codigo_compratemp == null)
                    {
                        List <L3MDB.Productos_en_compra> lista_productos_en_compra = operations.GetProductos_en_compras();
                        string serializedList = Serialize(lista_productos_en_compra);
                        context.Response.ContentType = "text/xml";
                        WriteResponse(serializedList);
                    }
                    else
                    {
                        int _codigo_compra   = int.Parse(_codigo_compratemp);
                        int _codigo_producto = int.Parse(_codigo_productotemp);

                        //HTTP Request Type - GET"
                        //Performing Operation - READ"
                        producom = operations.GetProducto_en_compra(_codigo_compra, _codigo_producto);
                        if (producom == null)
                        {
                            context.Response.Write(_codigo_compra + "No Producto Found" + _codigo_compratemp);
                        }

                        string serializedProductos_en_compra = Serialize(producom);
                        context.Response.ContentType = "text/xml";
                        WriteResponse(serializedProductos_en_compra);
                    }
                }
                #endregion
                #region Productos_en_venta
                else if (request_instance == "productos_en_venta")
                {
                    string _codigo_ventatemp    = context.Request["codigo_venta"];
                    string _codigo_productotemp = context.Request["codigo_producto"];
                    if (_codigo_ventatemp == null)
                    {
                        List <L3MDB.Productos_en_venta> lista_productos_en_venta = operations.GetProductos_en_ventas();
                        string serializedList = Serialize(lista_productos_en_venta);
                        context.Response.ContentType = "text/xml";
                        WriteResponse(serializedList);
                    }
                    else
                    {
                        int _codigo_venta    = int.Parse(_codigo_ventatemp);
                        int _codigo_producto = int.Parse(_codigo_productotemp);

                        //HTTP Request Type - GET"
                        //Performing Operation - READ"
                        produven = operations.GetProducto_en_venta(_codigo_venta, _codigo_producto);
                        if (produven == null)
                        {
                            context.Response.Write(_codigo_venta + "No Producto Found" + _codigo_ventatemp);
                        }

                        string serializedProductos_en_venta = Serialize(produven);
                        context.Response.ContentType = "text/xml";
                        WriteResponse(serializedProductos_en_venta);
                    }
                }
                #endregion
                #region Proveedor
                else if (request_instance == "proveedor")
                {
                    string _cedulatemp = context.Request["cedula"];
                    if (_cedulatemp == null)
                    {
                        List <L3MDB.Proveedor> lista_proveedores = operations.GetProveedores();
                        string serializedList = Serialize(lista_proveedores);
                        context.Response.ContentType = "text/xml";
                        WriteResponse(serializedList);
                    }
                    else
                    {
                        int _cedula = int.Parse(_cedulatemp);

                        //HTTP Request Type - GET"
                        //Performing Operation - READ"
                        prove = operations.GetProveedor(_cedula);
                        if (prove == null)
                        {
                            context.Response.Write(_cedula + "No Producto Found" + _cedulatemp);
                        }

                        string serializedProveedor = Serialize(prove);
                        context.Response.ContentType = "text/xml";
                        WriteResponse(serializedProveedor);
                    }
                }
                #endregion
                #region Rol
                else if (request_instance == "rol")
                {
                    string nombretemp = context.Request["nombre"];
                    if (nombretemp == null)
                    {
                        List <L3MDB.Rol> lista_roles    = operations.GetRoles();
                        string           serializedList = Serialize(lista_roles);
                        context.Response.ContentType = "text/xml";
                        WriteResponse(serializedList);
                    }
                    else
                    {
                        string nombre = nombretemp;

                        //HTTP Request Type - GET"
                        //Performing Operation - READ"
                        rol = operations.GetRol(nombre);
                        if (rol == null)
                        {
                            context.Response.Write(nombre + "No Producto Found" + nombretemp);
                        }

                        string serializedRol = Serialize(rol);
                        context.Response.ContentType = "text/xml";
                        WriteResponse(serializedRol);
                    }
                }
                #endregion
                #region Venta
                else if (request_instance == "venta")
                {
                    string _codigotemp = context.Request["codigo"];
                    if (_codigotemp == null)
                    {
                        List <L3MDB.Venta> lista_ventas   = operations.GetVentas();
                        string             serializedList = Serialize(lista_ventas);
                        context.Response.ContentType = "text/xml";
                        WriteResponse(serializedList);
                    }
                    else
                    {
                        int _codigo = int.Parse(_codigotemp);

                        //HTTP Request Type - GET"
                        //Performing Operation - READ"
                        ven = operations.GetVenta(_codigo);
                        if (ven == null)
                        {
                            context.Response.Write(_codigo + "No Producto Found" + _codigotemp);
                        }

                        string serializedVenta = Serialize(ven);
                        context.Response.ContentType = "text/xml";
                        WriteResponse(serializedVenta);
                    }
                }
                #endregion
            }
            catch (Exception ex)
            {
                WriteResponse(ex.Message.ToString());
                errHandler.ErrorMessage = operations.GetException();
                errHandler.ErrorMessage = ex.Message.ToString();
            }
        }