public ActionResult Edit(Int32 id)
        {
            AlquileresMVC.Models.Cliente         cliente = db.ClienteSet.First(c => c.ID == id); Int32 _iIDCliente = cliente.ID;
            List <AlquileresMVC.Models.Alquiler> listAlquiler = db.AlquilerSet.Where(a => a.IDCliente == _iIDCliente && a.Estatus == 1).ToList();
            Double _dMontoEstimado = 0; _dMontoEstimado = (from e in listAlquiler select e.PrecioEstimado).Sum().Value;

            AlquileresMVC.Models.Cantidad_Alquileres_Por_Pagar_VW clienteAlq = dbVW.Cantidad_Alquileres_Por_Pagar_VW_Set.First(c => c.IDCliente == _iIDCliente);
            AlquileresMVC.Models.Descuento descuento = db.DescuentoSet.First(d => d.Codigo == "DEC1");
            Double       _dPorcentajeDescuento       = 0; _dPorcentajeDescuento = descuento.PorcentajeDescuento ?? 0;
            Double       _dDescuento          = _dPorcentajeDescuento * _dMontoEstimado;
            Double       _dMontoTotal         = _dMontoEstimado - _dDescuento;
            PagoCabecera pagoCabeceraToUpdate = db.PagoCabeceraSet.ToList().LastOrDefault();
            Int32        _iID    = pagoCabeceraToUpdate.ID; _iID = _iID + 1;
            DateTime     _dFecha = DateTime.Now;

            if (clienteAlq.NumAlquiler >= 3 && clienteAlq.NumAlquiler <= 5)
            {
                pagoCabeceraToUpdate.MontoExento = _dMontoEstimado;
                pagoCabeceraToUpdate.Descuento   = _dDescuento;
                pagoCabeceraToUpdate.MontoTotal  = _dMontoTotal;
            }
            else
            {
                pagoCabeceraToUpdate.MontoExento = _dMontoEstimado;
                pagoCabeceraToUpdate.Descuento   = 0;
                pagoCabeceraToUpdate.MontoTotal  = _dMontoEstimado;
            }
            pagoCabeceraToUpdate.IDCliente = _iIDCliente;
            pagoCabeceraToUpdate.Fecha     = _dFecha;
            pagoCabeceraToUpdate.ClienteLoad();
            return(View(pagoCabeceraToUpdate));
        }
Пример #2
0
        public Boolean Create(EntidadNegocio.Entidades.PagoCabecera _pago)
        {
            Int32 iIDCliente = _pago.IDCliente; Boolean resul = false;

            Dato.Modelo.Cliente cliente = db.ClienteSet.First(c => c.ID == iIDCliente);
            Int32 _iIDCliente           = cliente.ID;

            Dato.Modelo.PagoCabecera    pagoCabeceraToAdd = new PagoCabecera();
            List <Dato.Modelo.Alquiler> listAlquiler      = db.AlquilerSet.Where(a => a.IDCliente == iIDCliente && a.Estatus == 1).ToList();

            Double _dMontoEstimado = 0; _dMontoEstimado = (from monto in listAlquiler select monto.PrecioEstimado).Sum().Value;

            _pago.MontoExento = _dMontoEstimado;

            DateTime _dFecha = DateTime.Now;

            _pago.Fecha = _dFecha;

            pagoCabeceraToAdd.IDCliente   = _iIDCliente;
            pagoCabeceraToAdd.MontoExento = _pago.MontoExento;
            pagoCabeceraToAdd.Fecha       = _pago.Fecha;
            Int32 iEstatus = 1;

            pagoCabeceraToAdd.Estatus = iEstatus;

            if (db.Connection.State != System.Data.ConnectionState.Open)
            {
                db.Connection.Open();
            }

            DbTransaction dbTransaction = db.Connection.BeginTransaction();

            try
            {
                // Guardar y confirmar.
                db.AddToPagoCabeceraSet(pagoCabeceraToAdd);
                db.SaveChanges();
                dbTransaction.Commit();
                /// Si la transaccion es exitosa enviamos true
                PagoCabecera _entidadToIDAdd = db.PagoCabeceraSet.ToList().LastOrDefault();
                Int32        _id             = _entidadToIDAdd.ID;
                _entidadToIDAdd.ID = _id;
                resul = true;
            }
            catch (Exception ex)
            {
                dbTransaction.Rollback();
                HandleException excepcion = new HandleException();
                String          msjLog    = "Error en " + ObtenerMetodoEnEjecucion(false).ToString() + ".\n" + excepcion.RegistrarExcepcion(ex, ObtenerMetodoEnEjecucion(false).ToString());
                excepcion.EscribirLogExcepcion(msjLog); String clientMessage = excepcion.HandleExceptionEx(ex); excepcion = null;
                resul = true;
            }

            return(resul);
        }
        public ActionResult Edit(Int32 id, FormCollection form)
        {
            AlquileresMVC.Models.Cliente         cliente = db.ClienteSet.First(c => c.ID == id); Int32 _iIDCliente = cliente.ID;
            List <AlquileresMVC.Models.Alquiler> listAlquiler = db.AlquilerSet.Where(a => a.IDCliente == _iIDCliente && a.Estatus == 1).ToList();
            Double _dMontoEstimado = 0; _dMontoEstimado = (from e in listAlquiler select e.PrecioEstimado).Sum().Value;

            AlquileresMVC.Models.Cantidad_Alquileres_Por_Pagar_VW clienteAlq = dbVW.Cantidad_Alquileres_Por_Pagar_VW_Set.First(c => c.IDCliente == _iIDCliente);
            AlquileresMVC.Models.Descuento descuento = db.DescuentoSet.First(d => d.Codigo == "DEC1");
            Double       _dPorcentajeDescuento       = 0; _dPorcentajeDescuento = descuento.PorcentajeDescuento ?? 0;
            Double       _dDescuento          = _dPorcentajeDescuento * _dMontoEstimado;
            Double       _dMontoTotal         = _dMontoEstimado - _dDescuento;
            PagoCabecera pagoCabeceraToUpdate = db.PagoCabeceraSet.ToList().LastOrDefault();
            Int32        _iID    = pagoCabeceraToUpdate.ID; _iID = _iID + 1;
            DateTime     _dFecha = DateTime.Now;

            if (clienteAlq.NumAlquiler >= 3 && clienteAlq.NumAlquiler <= 5)
            {
                pagoCabeceraToUpdate.MontoExento = _dMontoEstimado;
                pagoCabeceraToUpdate.Descuento   = _dDescuento;
                pagoCabeceraToUpdate.MontoTotal  = _dMontoTotal;
            }
            else
            {
                pagoCabeceraToUpdate.MontoExento = _dMontoEstimado;
                pagoCabeceraToUpdate.Descuento   = 0;
                pagoCabeceraToUpdate.MontoTotal  = _dMontoEstimado;
            }
            pagoCabeceraToUpdate.IDCliente = _iIDCliente;
            pagoCabeceraToUpdate.Fecha     = _dFecha;
            pagoCabeceraToUpdate.ClienteLoad();
            Int32 iEstatus = 1;

            pagoCabeceraToUpdate.Estatus = iEstatus;

            TryUpdateModel(pagoCabeceraToUpdate, "PagoCabecera");

            // Si el modelo es valido, guardo en la BD
            if (ModelState.IsValid)
            {
                db.Connection.Open();
                DbTransaction dbTransaction = db.Connection.BeginTransaction();
                try
                {
                    // Guardar y confirmar.
                    db.AddToPagoCabeceraSet(pagoCabeceraToUpdate);
                    db.SaveChanges();
                    dbTransaction.Commit();
                    /// Si la transaccion es exitosa nos redirigimos a la pagina de detalles como
                    /// cofirmación de que la operacion resulto exitosa
                    return(RedirectToAction("List"));
                }
                catch (Exception ex)
                {
                    dbTransaction.Rollback();
                    HandleException excepcion = new HandleException();
                    String          msjLog    = "Error en " + ObtenerMetodoEnEjecucion(false).ToString() + ".\n" + excepcion.RegistrarExcepcion(ex, ObtenerMetodoEnEjecucion(false).ToString());
                    excepcion.EscribirLogExcepcion(msjLog); String clientMessage = excepcion.HandleExceptionEx(ex); excepcion = null;
                    ModelState.AddModelError("ID", clientMessage);
                }
            }

            // Refresca el formulario con los datos guardados
            return(View(pagoCabeceraToUpdate));
        }