/// <summary> /// Evento generado al Editar un Vales /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lnkEditarE_Click(object sender, EventArgs e) { //Si hay registros if (gvVales.DataKeys.Count > 0) { //Seleccionando la fila correspondiente Controles.SeleccionaFila(gvVales, sender, "lnk", true); //Carga Vales buscaVales(); //Inicializamos Valores using (SAT_CL.EgresoServicio.AsignacionDiesel objVale = new SAT_CL.EgresoServicio.AsignacionDiesel(Convert.ToInt32(gvVales.SelectedValue))) { //Instanciamos Detalle Liquidacion using (SAT_CL.EgresoServicio.DetalleLiquidacion objDetalleLiquidacion = new DetalleLiquidacion(objVale.id_asignacion_diesel, 69)) //Instanciamos Litrsob using (TextBox txtLitrosE = (TextBox)gvVales.SelectedRow.FindControl("txtLitrosE")) { using (TextBox txtCCombustible = (TextBox)gvVales.SelectedRow.FindControl("txtCCombustibleE")) { using (TextBox txtFechaCargaE = (TextBox)gvVales.SelectedRow.FindControl("txtFechaE")) { //Inicializamos Valores txtLitrosE.Text = objDetalleLiquidacion.cantidad.ToString(); txtCCombustible.Text = objDetalleLiquidacion.valor_unitario.ToString(); txtFechaCargaE.Text = objVale.fecha_carga.ToString("dd/MM/yyyy HH:mm"); } } } } } }
/// <summary> /// Método Privado encargado de Cargar los Atributos dado un Registro /// </summary> /// <param name="id_comprobacion">Id de Comprobación</param> /// <returns></returns> private bool cargaAtributosInstancia(int id_comprobacion) { //Declarando Objeto de Retorno bool result = false; //Armando Arreglo de Parametros object[] param = { 3, id_comprobacion, 0, 0, 0, "", false, 0, 0, false, "", "" }; //Instanciando Resultado using (DataSet ds = CapaDatos.m_capaDeDatos.EjecutaProcAlmacenadoDataSet(_nom_sp, param)) { //Validando que exista el Registro if (TSDK.Datos.Validacion.ValidaOrigenDatos(ds, "Table")) { //Recorriendo Ciclo foreach (DataRow dr in ds.Tables["Table"].Rows) { //Asignando Valores this._id_comprobacion = Convert.ToInt32(dr["Id"]); this._id_deposito = Convert.ToInt32(dr["IdDeposito"]); this._id_concepto_comprobacion = Convert.ToInt32(dr["IdConceptoComprobacion"]); this._id_autorizacion_comprobacion = Convert.ToInt32(dr["IdAutorizacion"]); this._observacion_comprobacion = dr["ObservacionComprobacion"].ToString(); this._bit_transferencia = Convert.ToBoolean(dr["BitTransferencia"]); this._id_transferencia = Convert.ToInt32(dr["IdTransferencia"]); this._habilitar = Convert.ToBoolean(dr["Habilitar"]); this._objDetalleComprobacion = new DetalleLiquidacion(id_comprobacion, 104); } } } //Devolviendo Resultado Obtenido return(result); }
/// <summary> /// Método Público encargado de Regresar el Cobro Recurrente en caso de Reabrir la Liquidación /// </summary> /// <param name="id_usuario"></param> /// <returns></returns> public RetornoOperacion RegresaTotalCobroRecurrente(int id_usuario) { //Declarando Objetos de Retorno RetornoOperacion result = new RetornoOperacion(); RetornoOperacion resultDetalleLiq = new RetornoOperacion(); //Declarando Variables Auxiliares DateTime fecha_cobro_anterior = DateTime.MinValue; decimal total = 0; //Inicializando Bloque Transaccional using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { //Obteniendo Cantidad int cantidad = 0; //Obteniendo Estatus byte id_estatus = this._total_deuda == this._total_cobrado ? (byte)EstatusTermino.Vigente : this._id_estatus_termino; //Instanciando Detalle de Liquidación using (DetalleLiquidacion dl = new DetalleLiquidacion(this._id_cobro_recurrente, 77)) { //Validando que exista el Detalle if (dl.id_detalle_liquidacion > 0) { //Obteniendo Cantidades cantidad = Convert.ToInt32(dl.cantidad); total = dl.cantidad * dl.valor_unitario; //Obteniendo Fecha Anterior fecha_cobro_anterior = this._fecha_ultimo_cobro.AddDays(-1 * (cantidad * this._dias_cobro)); //Deshabilitando Detalle del Cobro Recurrente resultDetalleLiq = dl.DeshabilitaDetalleLiquidacion(id_usuario); //Validando la Eliminación del Detalle del Cobro if (resultDetalleLiq.OperacionExitosa) { //Instanciando Cobro Recurrente using (TipoCobroRecurrente tcr = new TipoCobroRecurrente(this._id_tipo_cobro_recurrente)) { //Actualizando Registro result = this.actualizaRegistros(this._id_tipo_cobro_recurrente, this._id_compania_emisor, this._total_deuda, this.total_cobrado - total, this._monto_cobro, this._tasa_monto, this._dias_cobro, this._id_tipo_entidad_aplicacion, this._id_unidad, this._id_operador, this._id_proveedor_compania, this._id_empleado, this._referencia, this._fecha_inicial, fecha_cobro_anterior, id_estatus, this._id_tabla, this._id_registro, id_usuario, this._habilitar); //Validando que la Operación haya sido Completada if (result.OperacionExitosa) { //Completando Transacción trans.Complete(); } } } } } } //Devolviendo Resultado Obtenido return(result); }
/// <summary> /// Constructor de la Clase encargado de Inicializar los Atributos por Defecto /// </summary> public CobroRecurrente() { //Asignando Valores this._id_cobro_recurrente = 0; this._id_tipo_cobro_recurrente = 0; this._id_compania_emisor = 0; this._total_deuda = 0; this._total_cobrado = 0; this._saldo = 0; this._monto_cobro = 0; this._tasa_monto = 0; this._dias_cobro = 0; this._id_tipo_entidad_aplicacion = 0; this._id_unidad = 0; this._id_operador = 0; this._id_proveedor_compania = 0; this._id_empleado = 0; this._referencia = ""; this._fecha_inicial = DateTime.MinValue; this._fecha_ultimo_cobro = DateTime.MinValue; this._id_estatus_termino = 0; this._id_tabla = 0; this._id_registro = 0; this._habilitar = false; this._objDetalleLiquidacionCR = new DetalleLiquidacion(); }
public ActionResult DeleteConfirmed(int id) { DetalleLiquidacion detalleLiquidacion = db.DetalleLiquidacions.Find(id); db.DetalleLiquidacions.Remove(detalleLiquidacion); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "idDetalle,idLiquidacion,idConcepto,monto")] DetalleLiquidacion detalleLiquidacion) { if (ModelState.IsValid) { db.Entry(detalleLiquidacion).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.idConcepto = new SelectList(db.Conceptoes, "idConcepto", "descripcion", detalleLiquidacion.idConcepto); ViewBag.idLiquidacion = new SelectList(db.Liquidacions, "idLiquidacion", "idLiquidacion", detalleLiquidacion.idLiquidacion); return(View(detalleLiquidacion)); }
/// <summary> /// Método Público encargado de Insertar los Pagos de los Movimiento /// </summary> /// <param name="id_pago">Id de Pago</param> /// <param name="id_movimiento">Id de Movimiento</param> /// <param name="id_usuario">Id de Usuario</param> /// <returns></returns> public static RetornoOperacion InsertaPagoMovimiento(int id_pago, int id_movimiento, int id_usuario) { //Declarando Objeto de Retorno RetornoOperacion result = new RetornoOperacion(); //Armando Arreglo de Parametros object[] param = { 1, 0, id_pago, id_movimiento, id_usuario, true, "", "" }; //Instanciando Pago using (Pago pay = new Pago(id_pago)) { //Validando que exista el Pago if (pay.habilitar) { //Instanciando Liquidación using (Liquidacion liq = new Liquidacion(pay.objDetallePago.id_liquidacion)) { //Validando que exista la Liquidación if (liq.habilitar) { //Obteniendo Entidad int id_entidad = liq.tipo_asignacion == SAT_CL.Liquidacion.Liquidacion.TipoAsignacion.Operador ? liq.id_operador : liq.tipo_asignacion == SAT_CL.Liquidacion.Liquidacion.TipoAsignacion.Unidad ? liq.id_unidad : liq.id_proveedor; //Validando que no existan Depositos Pendientes if (!DetalleLiquidacion.ValidaDepositosPendientesMovimiento(id_movimiento, liq.id_estatus, liq.id_tipo_asignacion, id_entidad)) { //Obteniendo Resultado del SP result = CapaDatos.m_capaDeDatos.EjecutaProcAlmacenadoObjeto(_nom_sp, param); } else { //Instanciando Excepción result = new RetornoOperacion(-3, "El Movimiento tiene Depositos Pendientes", false); } } else { //Instanciando Excepción result = new RetornoOperacion("No Existe la Liquidación"); } } } else { //Instanciando Excepción result = new RetornoOperacion("No Existe el Pago"); } } //Devolviendo Resultado Obtenido return(result); }
/// <summary> /// Constructor encargado de Inicializar los Atributos de la Clase por Defecto /// </summary> public Comprobacion() { //Asignando Valores this._id_comprobacion = 0; this._id_deposito = 0; this._id_concepto_comprobacion = 0; this._id_autorizacion_comprobacion = 0; this._observacion_comprobacion = ""; this._bit_transferencia = false; this._id_transferencia = 0; this._habilitar = false; this._objDetalleComprobacion = new DetalleLiquidacion(); }
// GET: DetalleLiquidacions/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } DetalleLiquidacion detalleLiquidacion = db.DetalleLiquidacions.Find(id); if (detalleLiquidacion == null) { return(HttpNotFound()); } return(View(detalleLiquidacion)); }
// GET: DetalleLiquidacions/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } DetalleLiquidacion detalleLiquidacion = db.DetalleLiquidacions.Find(id); if (detalleLiquidacion == null) { return(HttpNotFound()); } ViewBag.idConcepto = new SelectList(db.Conceptoes, "idConcepto", "descripcion", detalleLiquidacion.idConcepto); ViewBag.idLiquidacion = new SelectList(db.Liquidacions, "idLiquidacion", "idLiquidacion", detalleLiquidacion.idLiquidacion); return(View(detalleLiquidacion)); }
public JsonResult NuevaLiquidacion(NuevaLiquidacionFormModel model) { if (ModelState.IsValid) { try { // var user = UserManager.FindById(User.Identity.GetUserId()); ApplicationUser user = System.Web.HttpContext.Current.GetOwinContext().GetUserManager <ApplicationUserManager>().FindById(System.Web.HttpContext.Current.User.Identity.GetUserId()); Liquidacion obj = new Liquidacion() { Estado = model.Estado, Fecha = DateTime.Now, Id = Guid.NewGuid(), IdUsuario = user.Id, IdVendedor = model.IdVendedor, Monto = int.Parse(Utilities.sacarpuntos(model.Total)) }; db.Liquidacion.Add(obj); foreach (var a in model.IdReservas) { var reserva = db.Reserva.First(x => x.Id == a); reserva.EstadoPagoEmpleador = "Pagada"; db.Entry(reserva).State = EntityState.Modified; DetalleLiquidacion detalle = new DetalleLiquidacion() { Id = Guid.NewGuid(), IdLiquidacion = obj.Id, IdReserva = a, Monto = reserva.Total }; db.DetalleLiquidacion.Add(detalle); } db.SaveChanges(); } catch (Exception ex) { return(Json(new { Retorno = ex.Message + ". Stack trace: " + ex.StackTrace, Error = true }, JsonRequestBehavior.AllowGet)); } return(Json(new { Retorno = "Exito", Error = false }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { Retorno = "Contacte al administrador", Error = true }, JsonRequestBehavior.AllowGet)); } }
public async Task <DetalleLiquidacion> ObtenerDetalleLiquidacionAnterior(int terceroId, int pciId) { DetalleLiquidacion liquidacion = null; int mesAnterior = _generalInterface.ObtenerFechaHoraActual().AddMonths(-1).Month; var lista = await(from dl in _context.DetalleLiquidacion where dl.EstadoId != (int)EstadoDetalleLiquidacion.Rechazado where dl.TerceroId == terceroId where dl.PciId == pciId where dl.FechaRegistro.Value.Month == mesAnterior where dl.Viaticos == "NO" select dl).ToListAsync(); if (lista != null && lista.Count > 0) { liquidacion = lista.OrderBy(x => x.DetalleLiquidacionId).Last(); } return(liquidacion); }
/// <summary> /// Método Privado encaragdo de Cargar los Atributos dado un Registro /// </summary> /// <param name="id_cobro_recurrente">Id de Cobro Recurrente</param> /// <returns></returns> private bool cargaAtributosInstancia(int id_cobro_recurrente) { //Declarando Objeto de Retorno bool result = false; //Armando Arreglo de Parametros object[] param = { 3, id_cobro_recurrente, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "", null, null, 0, 0, 0, 0, false, "", "" }; //Obteniendo Resultado del SP using (DataSet ds = CapaDatos.m_capaDeDatos.EjecutaProcAlmacenadoDataSet(_nom_sp, param)) { //Validando que exista el Registro if (TSDK.Datos.Validacion.ValidaOrigenDatos(ds, "Table")) { //Recorriendo el Registro foreach (DataRow dr in ds.Tables["Table"].Rows) { //Asignando Valores this._id_cobro_recurrente = id_cobro_recurrente; this._id_tipo_cobro_recurrente = Convert.ToInt32(dr["IdTipoCobroRecurrente"]); this._id_compania_emisor = Convert.ToInt32(dr["IdCompaniaEmisor"]); this._total_deuda = Convert.ToDecimal(dr["TotalDeuda"]); this._total_cobrado = Convert.ToDecimal(dr["TotalCobrado"]); this._saldo = Convert.ToDecimal(dr["Saldo"]); this._monto_cobro = Convert.ToDecimal(dr["MontoCobro"]); this._tasa_monto = Convert.ToDecimal(dr["TasaMontoCobro"]); this._dias_cobro = Convert.ToInt32(dr["DiasCobro"]); this._id_tipo_entidad_aplicacion = Convert.ToByte(dr["IdTipoEntidadAplicacion"]); this._id_unidad = Convert.ToInt32(dr["IdUnidad"]); this._id_operador = Convert.ToInt32(dr["IdOperador"]); this._id_proveedor_compania = Convert.ToInt32(dr["IdProveedorCompania"]); this._id_empleado = Convert.ToInt32(dr["IdEmpleado"]); this._referencia = dr["Referencia"].ToString(); DateTime.TryParse(dr["FechaInicial"].ToString(), out this._fecha_inicial); DateTime.TryParse(dr["FechaUltimoCobro"].ToString(), out this._fecha_ultimo_cobro); this._id_estatus_termino = Convert.ToByte(dr["IdEstatusTermino"]); this._id_tabla = Convert.ToInt32(dr["IdTabla"]); this._id_registro = Convert.ToInt32(dr["IdRegistro"]); this._habilitar = Convert.ToBoolean(dr["Habilitar"]); this._objDetalleLiquidacionCR = new DetalleLiquidacion(id_cobro_recurrente, 77); } } //Asignando Resultado Positivo result = true; } //Devolviendo Resultado Obtenido return(result); }
/// <summary> /// Método Privado encargado de Actualizar los Registros /// </summary> /// <param name="id_deposito">Deposito de la Comprobación</param> /// <param name="id_concepto_comprobacion">Concepto de la Comprobación</param> /// <param name="id_autorizacion_comprobacion">Autorización de la Comprobación</param> /// <param name="observacion_comprobacion">Observación de la Comprobación</param> /// <param name="bit_transferencia">Estatus de Transferencia</param> /// <param name="id_transferencia">Referencia de la Transferencia</param> /// <param name="id_usuario">Usuario que Actualiza el Registro</param> /// <param name="habilitar">Estatus Habilitar</param> /// <returns></returns> private RetornoOperacion actualizaRegistro(int id_deposito, int id_concepto_comprobacion, int id_autorizacion_comprobacion, string observacion_comprobacion, bool bit_transferencia, int id_transferencia, DetalleLiquidacion.Estatus estatus, int id_unidad, int id_operador, int id_proveedor, int id_servicio, int id_movimiento, DateTime fecha_liquidacion, int id_liquidacion, decimal cantidad, decimal valor_unitario, int id_usuario, bool habilitar) { //Declarando Objeto de Retorno RetornoOperacion result = new RetornoOperacion(); //Inicializando Transaccion using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { //Armando Arreglo de Parametros object[] param = { 2, this._id_comprobacion, id_deposito, id_concepto_comprobacion, id_autorizacion_comprobacion, observacion_comprobacion, bit_transferencia, id_transferencia, id_usuario, habilitar, "", "" }; //Ejecutando resultado del SP result = CapaDatos.m_capaDeDatos.EjecutaProcAlmacenadoObjeto(_nom_sp, param); //Validando que la Operación haya sido exitosa if (result.OperacionExitosa) { //Obteniendo Comprobación int idComprobacion = result.IdRegistro; //Instanciando Detalle de la Liquidación using (DetalleLiquidacion dl = new DetalleLiquidacion(idComprobacion, 104)) { //Validando que exista el Registro if (dl.id_detalle_liquidacion > 0) { //Validando que sea una Edicion if (habilitar) { //Insertando Detalle de Liquidación result = dl.EditaDetalleLiquidacion(104, idComprobacion, (byte)estatus, id_unidad, id_operador, id_proveedor, id_servicio, id_movimiento, fecha_liquidacion, id_liquidacion, cantidad, 0, valor_unitario, id_usuario); } //Validando que sea una Deshabilitación else { //Deshabilitando Detalle de Liquidación result = dl.DeshabilitaDetalleLiquidacion(id_usuario); } } else { //Instanciando Excepción result = new RetornoOperacion("No se puede Acceder el Detalle, Imposible su Edición"); } } //Validando que la Operación haya sido exitosa if (result.OperacionExitosa) { //Completando Transacción trans.Complete(); //Instanciando la Comprobación result = new RetornoOperacion(idComprobacion); } } } //Devolviendo Resultado Obtenido return(result); }
public async Task RegistrarDetalleLiquidacion(DetalleLiquidacion detalleLiquidacion) { await _context.DetalleLiquidacion.AddAsync(detalleLiquidacion); }
/// <summary> /// Método Público encaragdo de Actualizar el Cobro Recurrente /// </summary> /// <param name="id_liquidacion"></param> /// <param name="fecha_calculo"></param> /// <param name="id_unidad"></param> /// <param name="id_operador"></param> /// <param name="id_proveedor"></param> /// <param name="id_usuario"></param> /// <returns></returns> public RetornoOperacion ActualizaTotalCobroRecurrente(int id_liquidacion, DateTime fecha_calculo, int id_unidad, int id_operador, int id_proveedor, int id_usuario) { //Declarando Objetos de Retorno RetornoOperacion result = new RetornoOperacion(); RetornoOperacion resultDetalleLiq = new RetornoOperacion(); //Declarando Variables Auxiliares decimal saldo_actual = 0.00M; //Inicializando Bloque Transaccional using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { //Instanciando Tipo de Cobro Recurrente using (TipoCobroRecurrente tcr = new TipoCobroRecurrente(this._id_tipo_cobro_recurrente)) { //Obteniendo Dias TimeSpan dias = fecha_calculo - this._fecha_ultimo_cobro; //Asignando Estatus byte id_estatus = this._id_estatus_termino; //Declarando Cantidad decimal cantidad = 0; //Validando Estatus del Cobro Recurrente switch ((EstatusTermino)this._id_estatus_termino) { case EstatusTermino.Vigente: { //Obteniendo Saldo Actual saldo_actual = CalculaSaldoActual(fecha_calculo); //Obteniendo Cantidad cantidad = dias.Days / this.dias_cobro; //Validando que el Tipo de Aplicación sea Descuento if (tcr.id_tipo_aplicacion == 2) { //Total Actual Auxiliar saldo_actual = saldo_actual >= this._saldo ? this._saldo : saldo_actual; //Obteniendo Estatus id_estatus = saldo_actual == this._saldo ? (byte)EstatusTermino.Terminado : this._id_estatus_termino; //Calculando Cantidad cantidad = Convert.ToDecimal(saldo_actual / monto_cobro); } break; } case EstatusTermino.Pausa: { //Asignando Valores cantidad = 0; id_estatus = (byte)EstatusTermino.Vigente; saldo_actual = 0; break; } } //Insertando Detalle de Liquidación resultDetalleLiq = DetalleLiquidacion.InsertaDetalleLiquidacion(77, this._id_cobro_recurrente, DetalleLiquidacion.Estatus.Liquidado, id_unidad, id_operador, id_proveedor, 0, 0, fecha_calculo, id_liquidacion, cantidad, 0, this._monto_cobro, id_usuario); //Validando si la Operación fue exitosa if (resultDetalleLiq.OperacionExitosa) { //Instanciando Detalle de Liquidación using (DetalleLiquidacion dl = new DetalleLiquidacion(resultDetalleLiq.IdRegistro)) { //Cantidad Entera int cantidad_int = Decimal.ToInt32(cantidad); //Validando Estatus if ((EstatusTermino)this._id_estatus_termino == EstatusTermino.Pausa) { //Obteniendo Cantidad cantidad_int = dias.Days / this.dias_cobro; } //Calculando Fecha del Ultimo Cobro con respecto a la cantidad por los dias DateTime fecha_cobro = this._fecha_ultimo_cobro.AddDays(cantidad_int * this._dias_cobro); //Actualizando Registro result = this.actualizaRegistros(this._id_tipo_cobro_recurrente, this._id_compania_emisor, this._total_deuda, this.total_cobrado + saldo_actual, this._monto_cobro, this._tasa_monto, this._dias_cobro, this._id_tipo_entidad_aplicacion, this._id_unidad, this._id_operador, this._id_proveedor_compania, this._id_empleado, this._referencia, this._fecha_inicial, fecha_cobro, id_estatus, this._id_tabla, this._id_registro, id_usuario, this._habilitar); //Validando que la Operación haya sido Completada if (result.OperacionExitosa) { //Completando Transacción trans.Complete(); } } } else { //Instanciando Excepcion result = new RetornoOperacion(resultDetalleLiq.Mensaje); } } } //Devolviendo Resultado Obtenido return(result); }