public bool delete(int id) { using (var context = getContext()) { try { var row = context.Comprobante.Where(x => x.IdComprobante == id).SingleOrDefault(); //Si el comprobante esta ligado a Movimientos primero se eliminan todos los Movimientos var allmovimientos = context.Movimiento.Where(x => x.IdComprobante == row.IdComprobante).ToList(); MovimientoBL movBL = new MovimientoBL(); foreach (var item in allmovimientos) { movBL.delete(item.IdMovimiento); } //Si el comprobante esta ligado a pagos por areas primero se eliminan todos sus montos AreasPorComprobantes var allmontos = context.AreaPorComprobante.Where(x => x.IdComprobante == row.IdComprobante).ToList(); foreach (var item in allmontos) { row.AreaPorComprobante.Remove(item); } context.Comprobante.Remove(row); context.SaveChanges(); return true; } catch (Exception e) { throw e; } } }
public bool ban(int id, string comentario) { using (var context = getContext()) { try { var row = context.Comprobante.Where(x => x.IdComprobante == id).SingleOrDefault(); if (row.IdTipoComprobante < 3) { //Si el comprobante esta ligado a Movimientos primero se eliminan todos los Movimientos var allmovimientos = context.Movimiento.Where(x => x.IdComprobante == row.IdComprobante).ToList(); MovimientoBL movBL = new MovimientoBL(); foreach (var item in allmovimientos) { movBL.delete(item.IdMovimiento); } //Anulando el Comprobante row.IdTipoComprobante = row.IdTipoComprobante == 1 ? 3 : 4; row.Ejecutado = false; row.Comentario = comentario; context.SaveChanges(); return true; } return false; } catch (Exception e) { throw e; } } }
public ActionResult AddMovimiento(MovimientoDTO dto) { if (!this.currentUser()) { return RedirectToAction("Ingresar"); } if (getCurrentUser().IdRol == 4) { return RedirectToAction("Libro", new { id = dto.IdCuentaBancaria }); } try { MovimientoBL objBL = new MovimientoBL(); MovimientoDTO dtoAnterior = objBL.getMovimiento(dto.IdMovimiento); if (dto.IdComprobante != null && dto.cmpMontoPendiente != null) { if (Decimal.Round(dto.cmpMontoPendiente.GetValueOrDefault(), 0) < 0) { createResponseMessage(CONSTANTES.ERROR, "<strong>Error.</strong> No se puede pagar un monto mayor al monto pendiente"); if (dto.IdComprobante == dtoAnterior.IdComprobante) { dto.Monto = dto.IdMovimiento != 0 ? dtoAnterior.Monto : 0; } else { dto.Monto = 0; } TempData["Movimiento"] = dto; return RedirectToAction("Movimiento", new { id = 0, idLibro = dto.IdCuentaBancaria }); } } if (dto.IdMovimiento == 0) { if (objBL.add(dto)) { if (dto.IdComprobante.GetValueOrDefault() != 0) { if (Decimal.Round(dto.cmpMontoPendiente.GetValueOrDefault(), 0) == 0) { ActualizarEjecucionComprobante(dto.IdComprobante.GetValueOrDefault(), true, dto.Fecha); } else { ActualizarEjecucionComprobante(dto.IdComprobante.GetValueOrDefault(), dto.cmpCancelado, dto.Fecha); } } createResponseMessage(CONSTANTES.SUCCESS); return RedirectToAction("Libro", new { id = dto.IdCuentaBancaria, page = TempData["PagMovs"] }); } } else if (dto.IdMovimiento != 0) { if (objBL.update(dto)) { if (dto.IdComprobante.GetValueOrDefault() != 0) { if (Decimal.Round(dto.cmpMontoPendiente.GetValueOrDefault(), 0) == 0) { ActualizarEjecucionComprobante(dto.IdComprobante.GetValueOrDefault(), true, dto.Fecha); } else { ActualizarEjecucionComprobante(dto.IdComprobante.GetValueOrDefault(), dto.cmpCancelado, dto.Fecha); } } //Si en la actualizacion se cambio el IdComprobante if (dtoAnterior.IdComprobante != null && dtoAnterior.IdComprobante != dto.IdComprobante) { ActualizarEjecucionComprobante(dtoAnterior.IdComprobante.GetValueOrDefault(), false, dto.Fecha); } createResponseMessage(CONSTANTES.SUCCESS); return RedirectToAction("Libro", new { id = dto.IdCuentaBancaria, page = TempData["PagMovs"] }); } else { createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_UPDATE_MESSAGE); } } else { createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_INSERT_MESSAGE); } } catch (Exception e) { if (dto.IdMovimiento != 0) createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_UPDATE_MESSAGE); else createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_INSERT_MESSAGE); } TempData["Movimiento"] = dto; return RedirectToAction("Movimiento", "Admin", new { id = 0, idLibro = dto.IdCuentaBancaria }); }
public ActionResult DeleteMovimiento(int id, int idCuentaBancaria) { if (!this.currentUser()) { return RedirectToAction("Ingresar"); } if (getCurrentUser().IdRol == 4) { return RedirectToAction("Libro", "Admin", new { id = idCuentaBancaria }); } try { MovimientoBL objBL = new MovimientoBL(); if (objBL.delete(id)) { createResponseMessage(CONSTANTES.SUCCESS, CONSTANTES.SUCCESS_DELETE); } else { createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_DELETE); } } catch (Exception e) { createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_NO_DELETE); throw; } return RedirectToAction("Libro", "Admin", new { id = idCuentaBancaria }); }
public ActionResult Movimiento(int? id = null, int? idLibro = null) { if (!this.currentUser()) { return RedirectToAction("Ingresar"); } ViewBag.Title = "Movimiento"; MenuNavBarSelected(1); UsuarioDTO miUsuario = getCurrentUser(); EmpresaBL empBL = new EmpresaBL(); EmpresaDTO empresa = empBL.getEmpresa(miUsuario.IdEmpresa); ViewBag.SimboloMoneda = empresa.SimboloMoneda; MovimientoBL objBL = new MovimientoBL(); ViewBag.IdMovimiento = id; ViewBag.EstadosMovimientos = objBL.getEstadosMovimientos(false); CuentaBancariaBL objCuentaBL = new CuentaBancariaBL(); CuentaBancariaDTO objLibro = objCuentaBL.getCuentaBancariaSoloEnEmpresa(miUsuario.IdEmpresa, idLibro.GetValueOrDefault()); if (objLibro == null) { return RedirectToAction("Index", "Admin"); } ViewBag.IdTipoCuenta = objLibro.IdTipoCuenta; ViewBag.lstTipoMovs = objBL.getTiposMovimientos(); ViewBag.lstFormaMovs = ViewBag.IdTipoCuenta == 1 ? objBL.getListaFormaDeMovimientos() : objBL.getListaFormaDeMovimientosBasic(); EntidadResponsableBL entBL = new EntidadResponsableBL(); ViewBag.TipoEntidades = entBL.getTipoDeEntidades(); ViewBag.EntidadesResponsables = objBL.getEntidadesResponsablesEnEmpresa(miUsuario.IdEmpresa, false); ViewBag.lstTiposDeDocumento = objBL.getListaTiposDeDocumentoVB(true); ViewBag.NombreCategoria = "Sin Categoría"; ViewBag.Categorias = CategoriasBucle(empresa.IdEmpresa, (int)empresa.IdPeriodo, null, null); ViewBag.Comprobantes = objBL.getComprobantesPendientesEnEmpresa(miUsuario.IdEmpresa); var objSent = TempData["Movimiento"]; if (objSent != null) { TempData["Movimiento"] = null; return View(objSent); } if (id == 0 && idLibro != null) { MovimientoDTO nuevo = new MovimientoDTO(); nuevo.IdCuentaBancaria = (int)idLibro; nuevo.Fecha = DateTime.Now; nuevo.TipoCambio = (new EmpresaBL()).getEmpresa(miUsuario.IdEmpresa).TipoCambio; nuevo.NumeroDocumento = null; //nuevo.Comentario = "No existe comentario"; nuevo.Estado = true; nuevo.UsuarioCreacion = miUsuario.IdUsuario; nuevo.FechaCreacion = DateTime.Now; return View(nuevo); } else { if (id != null) { MovimientoDTO obj = objBL.getMovimiento((int)id); if (obj == null) return RedirectToAction("Libro", "Admin", new { id = objLibro.IdCuentaBancaria }); if (obj.IdCuentaBancaria != objLibro.IdCuentaBancaria) return RedirectToAction("Libro", "Admin", new { id = objLibro.IdCuentaBancaria }); CuentaBancariaDTO objLibroMov = objCuentaBL.getCuentaBancariaEnEmpresa(miUsuario.IdEmpresa, obj.IdCuentaBancaria); if (objLibroMov == null) return RedirectToAction("Index", "Admin"); if (objLibroMov.IdEmpresa != miUsuario.IdEmpresa) return RedirectToAction("Index", "Admin"); obj.UsuarioCreacion = miUsuario.IdUsuario; ViewBag.NombreCategoria = objBL.getNombreCategoria(obj.IdCategoria.GetValueOrDefault()); return View(obj); } } return View(); }
public ActionResult Movimientos() { if (!this.currentUser()) { return RedirectToAction("Ingresar"); } ViewBag.Title = "Movimientos"; MovimientoBL objBL = new MovimientoBL(); return View(objBL.getMovimientos()); }
public JsonResult ActualizarEstadoEnMovimiento(int idMovimiento) { Decimal SaldoBancario = 0; if (!this.currentUser() || isUsuarioExterno()) return Json(new { SaldoBancario }, JsonRequestBehavior.AllowGet); UsuarioDTO miUsuario = getCurrentUser(); MovimientoBL obj = new MovimientoBL(); obj.ActualizarEstadoMovimiento(idMovimiento); SaldoBancario = obj.ActualizarSaldoBancarioEnMovimiento_Decimal(idMovimiento); //ActualizarSaldoBancarioEnMovimiento(Movimiento.IdMovimiento); return Json(new { SaldoBancario }, JsonRequestBehavior.AllowGet); }
public JsonResult Buscar_Elementos(string texto, int page = 0) { texto = texto.ToLower(); EmpresaDTO empresa = (new EmpresaBL()).getEmpresa(getCurrentUser().IdEmpresa); MovimientoBL movimientoBL = new MovimientoBL(); ComprobanteBL comprobanteBL = new ComprobanteBL(); MovimientoInvBL movimientoInvBL = new MovimientoInvBL(); List<MovimientoDTO> lstMovimientos = movimientoBL.getMovimientos_EnEmpresa(empresa.IdEmpresa); List<ComprobanteDTO> lstComprobantes = comprobanteBL.getComprobantesEnEmpresa(empresa.IdEmpresa); List<MovimientoInvDTO> lstMovimientoInv = movimientoInvBL.getMovimientoInvsEnEmpresa(empresa.IdEmpresa); List<sItem> ListaS1, ListaS2, ListaS3; ListaS1 = lstMovimientos.Where(x => (x.NroOperacion.ToLower() ?? "").Contains(texto)|| (x.Monto.ToString()).Contains(texto)|| (x.NombreCategoria.ToLower() ?? "").Contains(texto)|| x.nTipoDocumento.ToLower().Contains(texto)|| (x.NumeroDocumento.ToLower() ?? "").Contains(texto)|| x.NombreEntidadR.ToLower().Contains(texto) ).Select(x => new sItem { id = x.IdMovimiento, nombre = x.NroOperacion, monto = x.Monto, idElemento = 1, elemento = "Movimiento", tipo = x.IdCuentaBancaria.ToString(), //LibroBancario simboloMoneda = x.SimboloMoneda, s1 = x.NombreCategoria, s2 = x.nTipoDocumento, s3 = x.NumeroDocumento, s4 = x.NombreEntidadR }).ToList(); ListaS2 = lstComprobantes.Where(x => (x.NroDocumento).Contains(texto)|| (x.Monto.ToString()).Contains(texto)|| x.NombreTipoDocumento.ToLower().Contains(texto)|| x.NombreEntidad.ToLower().Contains(texto) ).Select(x => new sItem { id = x.IdComprobante, nombre = x.NroDocumento, monto = x.Monto, idElemento = 2, elemento = "Comprobante", tipo = x.IdTipoComprobante.ToString(), simboloMoneda = x.SimboloMoneda, s1 = x.NombreTipoDocumento, s2 = x.NombreEntidad }).ToList(); ListaS3 = lstMovimientoInv.Where(x => (x.NroDocumento.ToLower()).Contains(texto)|| (x.Cantidad.ToString()).Contains(texto)|| x.nItem.ToLower().Contains(texto)|| x.UnidadMedida.ToLower().Contains(texto)|| x.nForma.ToLower().Contains(texto)|| x.SerieLote.ToLower().Contains(texto) ).Select(x => new sItem { id = x.IdMovimientoInv, nombre = x.NroDocumento, monto = x.Cantidad, idElemento = 3, elemento = "Movimiento Inv.", tipo = x.IdTipoMovimientoInv.ToString(), s1 = x.nItem, s2 = x.UnidadMedida, s3 = x.nForma, s4 = x.SerieLote }).ToList(); ListaS1.AddRange(ListaS2); ListaS1.AddRange(ListaS3); InfoSItem elem = new InfoSItem(); elem.total_count = ListaS1.Count(); //elem.items = ListaS1.Skip(5 * page).Take(5).ToList(); elem.items = ListaS1; return Json(new { elem }, JsonRequestBehavior.AllowGet); }
public ActionResult Comprobante(int? id = null, int? idTipoComprobante = null) { if (!this.currentUser()) { return RedirectToAction("Ingresar"); } ViewBag.Title = "Comprobante"; int tipoComprobante = 1; if (idTipoComprobante != null) { tipoComprobante = idTipoComprobante.GetValueOrDefault(); } MenuNavBarSelected(3, tipoComprobante - 1); //MenuNavBarSelected(2); UsuarioDTO currentUser = getCurrentUser(); EmpresaDTO empresa = (new EmpresaBL()).getEmpresa(currentUser.IdEmpresa); ComprobanteBL objBL = new ComprobanteBL(); ViewBag.lstTipoDocumento = objBL.getTipoDeDocumentos(); ViewBag.lstClientes = objBL.getListaClientesEnEmpresa(currentUser.IdEmpresa); ViewBag.lstProveedores = objBL.getListaProveedoresEnEmpresa(currentUser.IdEmpresa); ViewBag.lstMonedas = objBL.getListaMonedas(); ViewBag.lstAreas = objBL.getListaAreasEnEmpresa(currentUser.IdEmpresa, false); ViewBag.lstResponsables = objBL.getListaResponsablesEnEmpresa(currentUser.IdEmpresa); ViewBag.lstHonorarios = objBL.getListaHonorariosEnEmpresa(currentUser.IdEmpresa); ViewBag.Proyectos = new List<ProyectoDTO>(); ViewBag.Categorias = CategoriasBucle(empresa.IdEmpresa, (int)empresa.IdPeriodo, null, null); //Lista de Movimientos Asociados al comprobante ViewBag.lstMovimientos = objBL.getMovimientos_AsocComprobante(empresa.IdEmpresa, id.GetValueOrDefault()); var objSent = TempData["Comprobante"]; if (objSent != null) { TempData["Comprobante"] = null; return View(objSent); } ComprobanteDTO obj; if (id != null && id != 0) { obj = objBL.getComprobanteEnEmpresa((int)currentUser.IdEmpresa, (int)id); if (obj == null) return RedirectToAction("Comprobantes"); if (obj.IdEmpresa != currentUser.IdEmpresa) return RedirectToAction("Comprobantes"); obj.UsuarioCreacion = currentUser.IdUsuario; ViewBag.Montos = obj.lstMontos; //Movimientos asociados MovimientoBL objMov = new MovimientoBL(); ViewBag.Movimientos = objMov.getMovimientos_Asoc_Comprobante(obj.IdComprobante); return View(obj); } obj = new ComprobanteDTO(); obj.IdEmpresa = currentUser.IdEmpresa; obj.TipoCambio = (new EmpresaBL()).getEmpresa(currentUser.IdEmpresa).TipoCambio; obj.UsuarioCreacion = currentUser.IdUsuario; obj.FechaEmision = DateTime.Now; if (idTipoComprobante != null && idTipoComprobante != 0) obj.IdTipoComprobante = idTipoComprobante.GetValueOrDefault(); return View(obj); }