public HttpResponseMessage Post(Codigos_de_Descuento varCodigos_de_Descuento)
        {
            if (ModelState.IsValid)
            {
                var data = "-1";
                try
                {
                    data = Convert.ToString(this.service.Insert(varCodigos_de_Descuento));
                    var bitacora = BitacoraHelper.GetBitacora(Request, object_id, Convert.ToInt32(data), BitacoraHelper.TypeSql.INSERT, "sp_InsCodigos_de_Descuento", new JavaScriptSerializer().Serialize(varCodigos_de_Descuento), true);
                    serviceBitacora.Insert(bitacora);
                }
                catch (ServiceException ex)
                {
                    var bitacora = BitacoraHelper.GetBitacora(Request, object_id, 0, BitacoraHelper.TypeSql.INSERT, "sp_InsCodigos_de_Descuento", new JavaScriptSerializer().Serialize(varCodigos_de_Descuento), true);
                    serviceBitacora.Insert(bitacora);
                    return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message));
                }

                return(Request.CreateResponse(HttpStatusCode.OK, data, Configuration.Formatters.JsonFormatter));
            }
            else
            {
                var errors   = ModelState.SelectMany(m => m.Value.Errors.Select(err => err.ErrorMessage != string.Empty ? err.ErrorMessage : err.Exception.Message).ToList()).ToList();
                var bitacora = BitacoraHelper.GetBitacora(Request, object_id, 0, BitacoraHelper.TypeSql.INSERT, "sp_InsCodigos_de_Descuento", new JavaScriptSerializer().Serialize(varCodigos_de_Descuento), false, errors.ToString());
                serviceBitacora.Insert(bitacora);
                return(Request.CreateResponse(HttpStatusCode.BadRequest, errors));
            }
        }
        public HttpResponseMessage Delete(int id)
        {
            Codigos_de_Descuento varCodigos_de_Descuento = this.service.GetByKey(id, false);
            bool result = false;

            if (varCodigos_de_Descuento == null)
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound));
            }

            try
            {
                result = this.service.Delete(id);//, globalData, dataReference);
                var bitacora = BitacoraHelper.GetBitacora(Request, object_id, id, BitacoraHelper.TypeSql.DELETE, "sp_DelCodigos_de_Descuento", new JavaScriptSerializer().Serialize(varCodigos_de_Descuento), result);
                serviceBitacora.Insert(bitacora);
            }
            catch (ServiceException ex)
            {
                var bitacora = BitacoraHelper.GetBitacora(Request, object_id, id, BitacoraHelper.TypeSql.DELETE, "sp_DelCodigos_de_Descuento", new JavaScriptSerializer().Serialize(varCodigos_de_Descuento), result, ex.Message);
                serviceBitacora.Insert(bitacora);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message));
            }

            return(Request.CreateResponse(HttpStatusCode.OK, result));
        }
        public HttpResponseMessage Get_Datos_Generales(int id)
        {
            Codigos_de_Descuento entity = this.service.ListaSelAll(1, 1, "Codigos_de_Descuento.Folio='" + id.ToString() + "'", "").Codigos_de_Descuentos.First();
            Codigos_de_Descuento result = new Codigos_de_Descuento();

            result.Folio                = entity.Folio;
            result.Fecha_de_Registro    = entity.Fecha_de_Registro;
            result.Hora_de_Registro     = entity.Hora_de_Registro;
            result.Usuario_que_Registra = entity.Usuario_que_Registra;
            result.Usuario_que_Registra_Spartan_User = entity.Usuario_que_Registra_Spartan_User;
            result.Tipo_de_Vendedor = entity.Tipo_de_Vendedor;
            result.Tipo_de_Vendedor_Tipos_de_Vendedor = entity.Tipo_de_Vendedor_Tipos_de_Vendedor;
            result.Vendedor = entity.Vendedor;
            result.Vendedor_Spartan_User = entity.Vendedor_Spartan_User;
            result.Tipo_de_Descuento     = entity.Tipo_de_Descuento;
            result.Tipo_de_Descuento_Tipos_de_Descuento = entity.Tipo_de_Descuento_Tipos_de_Descuento;
            result.Descuento                        = entity.Descuento;
            result.Texto_promocional                = entity.Texto_promocional;
            result.Fecha_inicio_vigencia            = entity.Fecha_inicio_vigencia;
            result.Fecha_fin_vigencia               = entity.Fecha_fin_vigencia;
            result.Cantidad_maxima_de_referenciados = entity.Cantidad_maxima_de_referenciados;
            result.Codigo_de_descuento              = entity.Codigo_de_descuento;
            result.Estatus = entity.Estatus;
            result.Estatus_Estatus_de_Codigos_de_Descuento = entity.Estatus_Estatus_de_Codigos_de_Descuento;

            return(Request.CreateResponse(HttpStatusCode.OK, result, Configuration.Formatters.JsonFormatter));
        }
        public HttpResponseMessage Get_Referenciados(int id)
        {
            Codigos_de_Descuento entity = this.service.ListaSelAll(1, 1, "Codigos_de_Descuento.Folio='" + id.ToString() + "'", "").Codigos_de_Descuentos.First();
            Codigos_de_Descuento result = new Codigos_de_Descuento();

            result.Folio = entity.Folio;

            return(Request.CreateResponse(HttpStatusCode.OK, result, Configuration.Formatters.JsonFormatter));
        }
        public HttpResponseMessage PutTunnel(Codigos_de_Descuento emp, string user, string password)
        {
            var client = new System.Net.WebClient();

            client.Headers = TokenManager.GetAuthenticationHeader(user, password);
            client.Headers["Content-Type"] = "application/json";
            var dataString = new JavaScriptSerializer().Serialize(emp);

            var result = client.UploadString(new Uri(baseApi + ApiControllerUrl + "/Put?Id=" + emp.Folio), "PUT"
                                             , dataString);

            return(Request.CreateResponse(HttpStatusCode.OK, result, Configuration.Formatters.JsonFormatter));
        }
        public HttpResponseMessage Get_Autorizacion(int id)
        {
            Codigos_de_Descuento entity = this.service.ListaSelAll(1, 1, "Codigos_de_Descuento.Folio='" + id.ToString() + "'", "").Codigos_de_Descuentos.First();
            Codigos_de_Descuento result = new Codigos_de_Descuento();

            result.Folio = entity.Folio;
            result.Fecha_de_autorizacion             = entity.Fecha_de_autorizacion;
            result.Hora_de_autorizacion              = entity.Hora_de_autorizacion;
            result.Usuario_que_autoriza              = entity.Usuario_que_autoriza;
            result.Usuario_que_autoriza_Spartan_User = entity.Usuario_que_autoriza_Spartan_User;
            result.Observaciones = entity.Observaciones;
            result.Resultado     = entity.Resultado;
            result.Resultado_Resultado_de_Autorizacion = entity.Resultado_Resultado_de_Autorizacion;

            return(Request.CreateResponse(HttpStatusCode.OK, result, Configuration.Formatters.JsonFormatter));
        }
        public HttpResponseMessage Put_Referenciados(Codigos_de_Descuento varCodigos_de_Descuento_Referenciados)
        {
            var data = "-1";

            try
            {
                data = Convert.ToString(this.service.Update_Referenciados(varCodigos_de_Descuento_Referenciados));
                var bitacora = BitacoraHelper.GetBitacora(Request, object_id, varCodigos_de_Descuento_Referenciados.Folio, BitacoraHelper.TypeSql.UPDATE, "sp_UpdCodigos_de_Descuento", new JavaScriptSerializer().Serialize(varCodigos_de_Descuento_Referenciados), true);
                serviceBitacora.Insert(bitacora);
            }
            catch (ServiceException ex)
            {
                var bitacora = BitacoraHelper.GetBitacora(Request, object_id, varCodigos_de_Descuento_Referenciados.Folio, BitacoraHelper.TypeSql.UPDATE, "sp_UpdCodigos_de_Descuento", new JavaScriptSerializer().Serialize(varCodigos_de_Descuento_Referenciados), false, ex.Message);
                serviceBitacora.Insert(bitacora);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message));
            }

            return(Request.CreateResponse(HttpStatusCode.OK, data, Configuration.Formatters.JsonFormatter));
        }
        public HttpResponseMessage Codigos_de_DescuentoGenerateID()
        {
            Codigos_de_Descuento varCodigos_de_Descuento = new Codigos_de_Descuento();
            var data = "-1";

            try
            {
                data = Convert.ToString(this.service.Insert(varCodigos_de_Descuento));
                var bitacora = BitacoraHelper.GetBitacora(Request, object_id, Convert.ToInt32(data), BitacoraHelper.TypeSql.INSERT, "sp_Codigos_de_DescuentoGenerateID", new JavaScriptSerializer().Serialize(varCodigos_de_Descuento), true);
                serviceBitacora.Insert(bitacora);
            }
            catch (ServiceException ex)
            {
                var bitacora = BitacoraHelper.GetBitacora(Request, object_id, 0, BitacoraHelper.TypeSql.INSERT, "sp_Codigos_de_DescuentoGenerateID", new JavaScriptSerializer().Serialize(varCodigos_de_Descuento), true);
                serviceBitacora.Insert(bitacora);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message));
            }

            return(Request.CreateResponse(HttpStatusCode.OK, data, Configuration.Formatters.JsonFormatter));
        }