} //filtra por rango de fechas

        public MovimientoDetalle listId(int id)
        {
            MovimientoDetalle movimiento = null;
            var requsicion = context.requisiciones.Include(u => u.usuarios).
                             Where(r => r.id == id).Single();

            if (requsicion != null)
            {
                movimiento.movimiento = new Movimientosjs {
                    id      = requsicion.id,
                    fecha   = requsicion.fecha,
                    usuario = requsicion.usuarios.usuario,
                    detalle = requsicion.detalle,
                    entrada = requsicion.entrada
                };
                var detalle = context.requisiciondetalles.Include(r => r.producto).
                              Where(r => r.idrequisicion == id).ToList();
                foreach (RequisicionDetalles r in detalle)
                {
                    movimiento.detalle.Add(new Detalle {
                        iddetalle = r.id,
                        codigo    = r.producto.codigo,
                        producto  = r.producto.detalle,
                        cantidad  = r.cantidad,
                    });
                }
                return(movimiento);
            }
            else
            {
                throw new Exception("Detalle no Encontrado");
            }
        } //retorna el detalle de la requisicion
        // GET: MovimientoDetalle/Edit/5
        public ActionResult Edit(int id)
        {
            ViewBag.Id_producto   = new SelectList(db.Productos, "Id_producto", "Nombre_producto");
            ViewBag.Id_movimiento = new SelectList(db.Movimientos, "Id_movimiento", "Tipo_movimimiento");

            MovimientoDetalle movimientoDetalle = db.Movimiento_detalles.Single(g => g.Id_movimiento_detalle == id);

            return(View(movimientoDetalle));
        }
Exemple #3
0
        public void CreateByEntradaCompra(Orden entityOrd, Movimiento entityMov, List <MovimientoDetalle> listaDetalleMov)
        {
            try
            {
                SiinErpContext context = new SiinErpContext();
                using (var tran = context.Database.BeginTransaction())
                {
                    TipoDocumento tiposdocmov = context.TiposDocumentos.FirstOrDefault(x => x.TipoDoc.Equals(Constantes.TipoDocEntradaOc));
                    tiposdocmov.NumDoc++;
                    context.SaveChanges();
                    entityMov.CodModulo        = Constantes.ModuloInventario;
                    entityMov.TipoDoc          = tiposdocmov.TipoDoc;
                    entityMov.NumDoc           = tiposdocmov.NumDoc;
                    entityMov.ValorSaldo       = entityMov.ValorNeto;
                    entityMov.ValorBruto       = entityMov.ValorNeto;
                    entityMov.Transaccion      = tiposdocmov.IdDetTransaccion;
                    entityMov.FechaVencimiento = entityMov.FechaDoc.AddDays(entityOrd.PlazoPago.PlazoDias);
                    entityMov.Periodo          = entityMov.FechaDoc.ToString("yyyyMM");
                    entityMov.FechaCreacion    = DateTimeOffset.Now;
                    context.Movimientos.Add(entityMov);
                    context.SaveChanges();

                    decimal vrBruto = 0, vrDscto = 0, vrIva = 0;

                    Movimiento obMov = context.Movimientos.FirstOrDefault(x => x.NumDoc == entityMov.NumDoc && x.TipoDoc.Equals(entityMov.TipoDoc));
                    foreach (MovimientoDetalle m in listaDetalleMov)
                    {
                        m.IdMovimiento = obMov.IdMovimiento;
                        vrBruto       += m.VrUnitario * m.Cantidad;
                        vrDscto       += m.VrUnitario * m.Cantidad * m.PcDscto / 100;
                        vrIva         += m.VrUnitario * m.Cantidad * m.PcIva / 100;
                    }


                    List <OrdenDetalle> listDetalleOrd = context.OrdenesDetalles.Where(x => x.IdOrden == entityMov.IdOrden).ToList();
                    foreach (OrdenDetalle det in listDetalleOrd)
                    {
                        MovimientoDetalle movdet = listaDetalleMov.FirstOrDefault(x => x.IdArticulo == det.IdArticulo);
                        if (movdet != null)
                        {
                            det.CantidadEje += movdet.Cantidad;
                        }
                    }
                    context.SaveChanges();

                    context.MovimientosDetalles.AddRange(listaDetalleMov);
                    context.SaveChanges();

                    tran.Commit();
                }
            }
            catch (Exception ex)
            {
                errorBusiness.Create("CreateMovimientoByEntradaCompra", ex.Message, null);
                throw;
            }
        }
 public IActionResult Create([FromBody] MovimientoDetalle entity)
 {
     try
     {
         BusinessMovDet.Create(entity);
         return(Ok(true));
     }
     catch (Exception ex)
     {
         throw;
     }
 }
 public ActionResult Create(MovimientoDetalle movimientoDetalle)
 {
     try
     {
         db.Movimiento_detalles.Add(movimientoDetalle);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     catch
     {
         return(View());
     }
 }
        // GET: MovimientoDetalle/Create
        public ActionResult Create()
        {
            ViewBag.Id_producto   = new SelectList(db.Productos, "Id_producto", "Nombre_producto");
            ViewBag.Id_movimiento = new SelectList(db.Movimientos, "Id_movimiento", "Tipo_movimimiento");

            MovimientoDetalle movimientoDetalle = new MovimientoDetalle
            {
                Fecha_movimiento = DateTime.Parse(DateTime.Now.Date.ToString("dd/MM/yyyy")),
                Cantidad         = 0
            };

            return(View(movimientoDetalle));
        }
 public ActionResult Delete(int id, FormCollection collection)
 {
     try
     {
         MovimientoDetalle movimientoDetalle = db.Movimiento_detalles.Single(g => g.Id_movimiento_detalle == id);
         db.Movimiento_detalles.Remove(movimientoDetalle);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     catch
     {
         return(View());
     }
 }
 public void Create(MovimientoDetalle entity)
 {
     try
     {
         SiinErpContext context = new SiinErpContext();
         context.MovimientosDetalles.Add(entity);
         context.SaveChanges();
     }
     catch (Exception ex)
     {
         errorBusiness.Create("CreateMovimientoDetalle", ex.Message, null);
         throw;
     }
 }
 public ActionResult Edit(int id, FormCollection collection)
 {
     try
     {
         MovimientoDetalle movimientoDetalle = db.Movimiento_detalles.Single(g => g.Id_movimiento_detalle == id);
         if (TryUpdateModel <MovimientoDetalle>(movimientoDetalle))
         {
             db.SaveChanges();
             return(RedirectToAction("Index"));
         }
         return(View());
     }
     catch
     {
         return(View());
     }
 }
        //obtener datos para el datagrid de detalle de movimiento
        public List <MovimientoDetalle> llenarDGVMovimientoDetalle(int id_movimiento_inventario_encabezado)
        {
            SQL_Producto             producto = new SQL_Producto();
            List <MovimientoDetalle> movimientoDetalleList = new List <MovimientoDetalle>();

            try
            {
                string sComando = string.Format("" +
                                                "SELECT " +
                                                "id_movimiento_inventario_detalle, " +
                                                "id_producto, " +
                                                "cantidad_movimiento, " +
                                                "costo_producto, " +
                                                "precio_producto " +
                                                "FROM movimientos_inventario_detalle " +
                                                "WHERE id_movimiento_inventario_encabezado = {0}; ",
                                                id_movimiento_inventario_encabezado);

                OdbcDataReader reader = transaccion.ConsultarDatos(sComando);

                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        MovimientoDetalle movimientoDetalleTmp = new MovimientoDetalle();
                        movimientoDetalleTmp.ID_MOVIMIENTO_INVENTARIO_DETALLE = reader.GetInt32(0);
                        movimientoDetalleTmp.PRODUCTO = producto.obtenerProducto(reader.GetInt32(1));
                        movimientoDetalleTmp.CANTIDAD = reader.GetInt32(2);
                        movimientoDetalleTmp.COSTO    = reader.GetDouble(3);
                        movimientoDetalleTmp.PRECIO   = reader.GetDouble(4);
                        movimientoDetalleList.Add(movimientoDetalleTmp);
                    }
                }
                return(movimientoDetalleList);
            }
            catch (OdbcException ex)
            {
                mensaje = new Mensaje("Error en la operacion con la Base de Datos: \n" + ex.Message);
                mensaje.Show();
                return(null);
            }

            return(null);
        }
        // GET: MovimientoDetalle/Delete/5
        public ActionResult Delete(int id)
        {
            MovimientoDetalle movimientoDetalle = db.Movimiento_detalles.Single(g => g.Id_movimiento_detalle == id);

            return(View(movimientoDetalle));
        }
Exemple #12
0
        public void Create(Movimiento entityMov, List <MovimientoDetalle> listDetalleMov)
        {
            try
            {
                SiinErpContext context = new SiinErpContext();
                using (var transaction = context.Database.BeginTransaction())
                {
                    TipoDocumento tiposdocmov = context.TiposDocumentos.FirstOrDefault(x => x.TipoDoc.Equals(entityMov.TipoDoc));
                    tiposdocmov.NumDoc++;
                    context.SaveChanges();

                    entityMov.NumDoc        = tiposdocmov.NumDoc;
                    entityMov.CodModulo     = Constantes.ModuloInventario;
                    entityMov.Periodo       = entityMov.FechaDoc.ToString("yyyyMM");
                    entityMov.Estado        = Constantes.EstadoActivo;
                    entityMov.FechaCreacion = DateTimeOffset.Now;
                    context.Movimientos.Add(entityMov);
                    context.SaveChanges();

                    Movimiento obMov = context.Movimientos.FirstOrDefault(x => x.NumDoc == entityMov.NumDoc && x.TipoDoc.Equals(entityMov.TipoDoc) && x.IdDetAlmacen == entityMov.IdDetAlmacen);
                    foreach (MovimientoDetalle m in listDetalleMov)
                    {
                        m.IdMovimiento = obMov.IdMovimiento;
                    }

                    context.MovimientosDetalles.AddRange(listDetalleMov);
                    context.SaveChanges();


                    if (entityMov.TipoDoc.Equals(Constantes.TipoDocEntradaTraslado) && entityMov.IdDetAlmDestino != null)
                    {
                        TipoDocumento tipodoc2 = context.TiposDocumentos.FirstOrDefault(x => x.TipoDoc.Equals(Constantes.TipoDocEntradaTraslado));
                        tipodoc2.NumDoc++;
                        context.SaveChanges();

                        Movimiento entityEt = new Movimiento();
                        entityEt.TipoDoc         = Constantes.TipoDocEntradaTraslado;
                        entityEt.NumDoc          = tipodoc2.NumDoc;
                        entityEt.IdDetAlmacen    = Convert.ToInt32(entityMov.IdDetAlmDestino);
                        entityEt.IdDetAlmDestino = entityMov.IdDetAlmacen;
                        entityEt.IdEmpresa       = entityMov.IdEmpresa;
                        entityEt.CreadoPor       = entityMov.CreadoPor;
                        entityEt.Estado          = entityMov.Estado;
                        entityEt.FechaDoc        = entityMov.FechaDoc;
                        entityEt.Periodo         = entityMov.Periodo;
                        entityEt.IdTercero       = entityMov.IdTercero;
                        entityEt.Comentario      = entityMov.Comentario;
                        entityEt.IdDetCenCosto   = entityMov.IdDetCenCosto;
                        entityEt.IdDetConcepto   = entityMov.IdDetConcepto;
                        entityEt.Transaccion     = 1;
                        entityEt.FechaCreacion   = DateTimeOffset.Now;
                        context.Movimientos.Add(entityEt);
                        context.SaveChanges();

                        Movimiento ob = context.Movimientos.FirstOrDefault(x => x.NumDoc == entityEt.NumDoc && x.TipoDoc.Equals(entityEt.TipoDoc) && x.IdDetAlmacen == entityEt.IdDetAlmacen);
                        List <MovimientoDetalle> listDetalleMov2 = new List <MovimientoDetalle>();
                        foreach (MovimientoDetalle m in listDetalleMov)
                        {
                            MovimientoDetalle det = new MovimientoDetalle();
                            det.IdMovimiento = ob.IdMovimiento;
                            det.IdArticulo   = m.IdArticulo;
                            det.Cantidad     = m.Cantidad;
                            det.VrCosto      = m.VrCosto;
                            det.VrUnitario   = m.VrUnitario;
                            det.PcDscto      = m.PcDscto;
                            det.PcIva        = m.PcIva;
                            listDetalleMov2.Add(det);
                        }

                        context.MovimientosDetalles.AddRange(listDetalleMov2);
                        context.SaveChanges();
                    }
                    transaction.Commit();
                }
            }
            catch (Exception ex)
            {
                errorBusiness.Create("CreateMovimiento", ex.Message, null);
                throw;
            }
        }
Exemple #13
0
        public int UpdateByPuntoDeVenta(JObject data)
        {
            try
            {
                Movimiento entityMov = data["entityMov"].ToObject <Movimiento>();
                List <MovimientoDetalle>   listaDetalleMov = data["listDetalleMov"].ToObject <List <MovimientoDetalle> >();
                List <MovimientoFormaPago> listaDetallePag = data["listDetallePag"].ToObject <List <MovimientoFormaPago> >();

                SiinErpContext context = new SiinErpContext();
                using (var transaccion = context.Database.BeginTransaction())
                {
                    Movimiento entityMovBD = context.Movimientos.Find(entityMov.IdMovimiento);
                    entityMovBD.IdTercero        = entityMov.IdTercero;
                    entityMovBD.IdPlazoPago      = entityMov.IdPlazoPago;
                    entityMovBD.IdListaPrecio    = entityMov.IdListaPrecio;
                    entityMovBD.FechaDoc         = entityMov.FechaDoc;
                    entityMovBD.Periodo          = entityMov.FechaDoc.ToString("yyyyMM");
                    entityMovBD.FechaVencimiento = entityMov.PlazoPago == null ? entityMov.FechaDoc : entityMov.FechaDoc.AddDays(entityMov.PlazoPago.PlazoDias);
                    entityMovBD.ValorBruto       = entityMov.ValorBruto;
                    entityMovBD.ValorDscto       = entityMov.ValorDscto;
                    entityMovBD.ValorIva         = entityMov.ValorIva;
                    entityMovBD.ValorNeto        = entityMov.ValorNeto;
                    entityMovBD.ModificadoPor    = entityMov.ModificadoPor;
                    entityMovBD.FechaModificado  = DateTimeOffset.Now;
                    context.SaveChanges();

                    List <MovimientoDetalle> listaDetalleMovBD = context.MovimientosDetalles.Where(x => x.IdMovimiento == entityMov.IdMovimiento).ToList();
                    foreach (MovimientoDetalle m in listaDetalleMovBD)
                    {
                        MovimientoDetalle entityDetalle = listaDetalleMov.FirstOrDefault(x => x.IdDetalleMovimiento == m.IdDetalleMovimiento);
                        if (entityDetalle == null)
                        {
                            context.MovimientosDetalles.Remove(m);
                            context.SaveChanges();

                            Articulo entityArt = context.Articulos.Find(m.IdArticulo);
                            if (entityArt.AfectaInventario)
                            {
                                ArticuloExistencia entityExist = context.Existencias.FirstOrDefault(x => x.IdArticulo == m.IdArticulo && x.IdDetAlmacen == entityMov.IdDetAlmacen);
                                if (entityExist != null)
                                {
                                    entityExist.Existencia += m.Cantidad;
                                    context.SaveChanges();
                                }
                            }
                        }
                    }

                    listaDetalleMovBD = context.MovimientosDetalles.Where(x => x.IdMovimiento == entityMov.IdMovimiento).ToList();
                    foreach (MovimientoDetalle m in listaDetalleMov)
                    {
                        Articulo          entityArt     = context.Articulos.Find(m.IdArticulo);
                        MovimientoDetalle entityDetalle = listaDetalleMovBD.FirstOrDefault(x => x.IdDetalleMovimiento == m.IdDetalleMovimiento);
                        if (entityDetalle == null)
                        {
                            m.IdMovimiento = entityMov.IdMovimiento;
                            context.MovimientosDetalles.Add(m);
                            context.SaveChanges();

                            if (entityArt.AfectaInventario)
                            {
                                ArticuloExistencia entityExist = context.Existencias.FirstOrDefault(x => x.IdArticulo == m.IdArticulo && x.IdDetAlmacen == entityMov.IdDetAlmacen);
                                if (entityExist == null)
                                {
                                    entityExist              = new ArticuloExistencia();
                                    entityExist.IdEmpresa    = entityMov.IdEmpresa;
                                    entityExist.IdDetAlmacen = entityMov.IdDetAlmacen;
                                    entityExist.IdArticulo   = m.IdArticulo;
                                    entityExist.Existencia   = m.Cantidad * entityMov.Transaccion;
                                    context.Existencias.Add(entityExist);
                                    context.SaveChanges();
                                }
                                else
                                {
                                    entityExist.Existencia += m.Cantidad * entityMov.Transaccion;
                                    context.SaveChanges();
                                }
                            }
                        }
                        else
                        {
                            if (entityArt.AfectaInventario)
                            {
                                ArticuloExistencia entityExist = context.Existencias.FirstOrDefault(x => x.IdArticulo == m.IdArticulo && x.IdDetAlmacen == entityMov.IdDetAlmacen);
                                if (entityExist != null)
                                {
                                    entityExist.Existencia += entityDetalle.Cantidad - m.Cantidad;
                                    context.SaveChanges();
                                }
                            }

                            entityDetalle.Cantidad   = m.Cantidad;
                            entityDetalle.PcDscto    = m.PcDscto;
                            entityDetalle.PcIva      = m.PcIva;
                            entityDetalle.VrUnitario = m.VrUnitario;
                            entityDetalle.VrCosto    = m.VrCosto;
                            entityDetalle.VrBruto    = m.VrBruto;
                            entityDetalle.VrNeto     = m.VrNeto;
                            context.SaveChanges();
                        }
                    }

                    List <MovimientoFormaPago> listaDetallePagDB = context.MovimientosFormasPagos.Where(x => x.IdMovimiento == entityMov.IdMovimiento).ToList();
                    foreach (MovimientoFormaPago m in listaDetallePagDB)
                    {
                        MovimientoFormaPago entityFormaPag = listaDetallePag.FirstOrDefault(x => x.IdMovFormaDePago == m.IdMovFormaDePago && x.Valor > 0);
                        if (entityFormaPag == null)
                        {
                            context.MovimientosFormasPagos.Remove(m);
                            context.SaveChanges();

                            CajaDetalle entityCajaDet = context.CajaDetalle.FirstOrDefault(x => x.IdMovimiento == m.IdMovimiento && x.IdCaja == entityMov.IdCaja && x.IdDetFormaPago == m.IdDetFormaDePago);
                            if (entityCajaDet != null)
                            {
                                context.CajaDetalle.Remove(entityCajaDet);
                                context.SaveChanges();
                            }
                        }
                    }

                    listaDetallePagDB = context.MovimientosFormasPagos.Where(x => x.IdMovimiento == entityMov.IdMovimiento).ToList();
                    foreach (MovimientoFormaPago mfp in listaDetallePag)
                    {
                        MovimientoFormaPago entityFormaPag = listaDetallePagDB.FirstOrDefault(x => x.IdMovFormaDePago == mfp.IdMovFormaDePago);
                        if (entityFormaPag == null)
                        {
                            mfp.IdMovFormaDePago = 0;
                            mfp.IdMovimiento     = entityMov.IdMovimiento;
                            context.MovimientosFormasPagos.Add(mfp);
                            context.SaveChanges();

                            if (entityMov.IdCaja != null)
                            {
                                CajaDetalle entityCajaDet = new CajaDetalle();
                                entityCajaDet.IdCaja         = Convert.ToInt32(entityMov.IdCaja);
                                entityCajaDet.IdMovimiento   = entityMov.IdMovimiento;
                                entityCajaDet.TipoDoc        = entityMov.TipoDoc;
                                entityCajaDet.NumDoc         = entityMov.NumDoc;
                                entityCajaDet.IdDetFormaPago = mfp.IdDetFormaDePago;
                                entityCajaDet.IdDetCuenta    = mfp.IdDetCuenta;
                                entityCajaDet.Efectivo       = mfp.Descripcion.Contains("Efectivo") ? true : false;
                                entityCajaDet.Transaccion    = 1;
                                entityCajaDet.Valor          = mfp.Valor;
                                entityCajaDet.Estado         = Constantes.EstadoActivo;
                                entityCajaDet.FechaCreacion  = DateTimeOffset.Now;
                                entityCajaDet.CreadoPor      = entityMov.ModificadoPor;
                                context.CajaDetalle.Add(entityCajaDet);
                                context.SaveChanges();
                            }
                        }
                        else
                        {
                            entityFormaPag.Valor = mfp.Valor;
                            context.SaveChanges();

                            CajaDetalle entityCajaDet = context.CajaDetalle.FirstOrDefault(x => x.IdMovimiento == entityMov.IdMovimiento && x.IdCaja == entityMov.IdCaja && x.IdDetFormaPago == mfp.IdDetFormaDePago && x.IdDetCuenta == mfp.IdDetCuenta);
                            if (entityCajaDet != null)
                            {
                                entityCajaDet.Valor           = mfp.Valor;
                                entityCajaDet.ModificadoPor   = entityMov.ModificadoPor;
                                entityCajaDet.FechaModificado = DateTimeOffset.Now;
                                context.SaveChanges();
                            }
                        }
                    }

                    if (entityMov.IdTercero != null)
                    {
                        Tercero entityCli = context.Terceros.Find(entityMov.IdTercero);
                        entityCli.NombreTercero = entityMov.NombreTercero;
                        entityCli.Direccion     = entityMov.DireccionTercero;
                        entityCli.Telefono      = entityMov.TelefonoTercero;
                        context.SaveChanges();
                    }

                    transaccion.Commit();

                    return(entityMov.IdMovimiento);
                }
            }
            catch (Exception ex)
            {
                errorBusiness.Create("UpdateMovimientoByPuntoVenta", ex.Message, null);
                throw;
            }
        }
Exemple #14
0
        public void ConfirmaIdentidadDelSocio(string numero_Cedula_Socio, DateTime fecha_Ultima_Transaccion, string agencia_Ultima_Transaccion)
        {
            JavaScriptSerializer json = new JavaScriptSerializer();
            string  datoJson          = string.Empty;
            string  error             = string.Empty;
            Oficina oficina           = null;
            Cliente cliente           = null;

            try
            {
                //Valida Si existe Socio
                var persona = PersonaActor.DameListaPorIdentificacion(numero_Cedula_Socio, true, 0).Where(x => x.TipoIdentificacion.NumeroMinimoRepresentantes == 0).FirstOrDefault();
                if (persona != null)
                {
                    //Busca Cliente
                    cliente = ClienteActor.DamePorSecuencialPersonaSinVerificarExistencia(persona.Secuencial);
                    if (cliente != null)
                    {
                        //Valida Oficina
                        var listaOficina = OficinaActor.DameListaPorEstaActiva(true, true, Oficina.CodigoOficinaControlCampo, 0);
                        oficina = listaOficina.Where(x => x.Ciudad.ToLower().Contains(agencia_Ultima_Transaccion.ToLower()) ||
                                                     x.Division.Nombre.ToLower().Contains(agencia_Ultima_Transaccion.ToLower()) ||
                                                     x.Siglas.ToLower().Contains(agencia_Ultima_Transaccion.ToLower()) ||
                                                     agencia_Ultima_Transaccion.ToLower().Contains(x.Siglas.ToLower())).FirstOrDefault();

                        if (oficina == null)
                        {
                            error = "No Hay Concidencias Para La Agencia Buscada";
                        }

                        //Valida Ultima Transaccion
                        int ultimoMovimiento = PrestamoMaestroActor.DevuelveUltimoMovimiento(cliente.Secuencial);

                        if (ultimoMovimiento > 0)
                        {
                            MovimientoDetalle movimiento = MovimientoDetalleActor.DameListaPorSecuencialMovimiento(ultimoMovimiento, 0).FirstOrDefault();
                            if (movimiento != null)
                            {
                                if (movimiento.Movimiento.Fecha != fecha_Ultima_Transaccion)
                                {
                                    error = "La Fecha De La Última Transacción No Coincide";
                                }

                                if (oficina != null)
                                {
                                    if (oficina.SecuencialDivision != movimiento.SecuencialOficinaAfectada)
                                    {
                                        error = "La Oficina De La Última Transacción No Coincide";
                                    }
                                }
                            }
                        }
                        else
                        {
                            error = "No Existen Movimientos Registrados";
                        }
                    }
                    else
                    {
                        error = "La persona Con Esa Identificación No Es Cliente";
                    }
                }
                else
                {
                    error = "Identificación No Encontrada";
                }

                if (error != string.Empty)
                {
                    var datosJson = new
                    {
                        success = false,
                        msg     = error
                    };

                    HttpContext.Current.Response.ContentType = "application/json";
                    HttpContext.Current.Response.Write(json.Serialize(datosJson));
                    HttpContext.Current.Response.Flush();                // Sends all currently buffered output to the client.
                    HttpContext.Current.Response.SuppressContent = true; // Gets or sets a value indicating whether to send HTTP content to the client.
                    HttpContext.Current.ApplicationInstance.CompleteRequest();
                }
                else
                {
                    var datosJson = new
                    {
                        success      = true,
                        numero_Socio = cliente.NumeroCliente
                    };

                    HttpContext.Current.Response.ContentType = "application/json";
                    HttpContext.Current.Response.Write(json.Serialize(datosJson));
                    HttpContext.Current.Response.Flush();                // Sends all currently buffered output to the client.
                    HttpContext.Current.Response.SuppressContent = true; // Gets or sets a value indicating whether to send HTTP content to the client.
                    HttpContext.Current.ApplicationInstance.CompleteRequest();
                }
            }
            catch (Exception ex)
            {
                var datosJson = new
                {
                    success = false,
                    msg     = ex
                };

                HttpContext.Current.Response.ContentType = "application/json";
                HttpContext.Current.Response.Write(json.Serialize(datosJson));
                HttpContext.Current.Response.Flush();                // Sends all currently buffered output to the client.
                HttpContext.Current.Response.SuppressContent = true; // Gets or sets a value indicating whether to send HTTP content to the client.
                HttpContext.Current.ApplicationInstance.CompleteRequest();
            }
        }