Example #1
0
        public async Task <ActionResult> EditRols(ProfileModificationModel model)
        {
            if (ModelState.IsValid)
            {
                foreach (int rolId in model.IdsToAdd ?? new int[] { })
                {
                    var profilerole = new Profilerole {
                        RoleId = rolId, Username = model.username
                    };
                    db.Add(profilerole);
                }

                foreach (int rolId in model.IdsToDelete ?? new int[] { })
                {
                    var profilerole = db.Profilerole.Where(p => p.Username == model.username && p.RoleId == rolId).FirstOrDefault();
                    if (profilerole != null)
                    {
                        db.Profilerole.Remove(profilerole);
                    }
                }
                await db.SaveChangesAsync();

                return(RedirectToAction("EditRols", new { id = model.username }));
            }
            return(View("Error", new string[] { "Role Not Found" }));
        }
Example #2
0
        public async Task <IActionResult> Create([Bind("Reporte,UsernameElaborado,UsernameRevisado,UsernameAprobado,UsernameAutorizado")] ReporteFirma reporteFirma)
        {
            if (ModelState.IsValid)
            {
                _context.Add(reporteFirma);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(reporteFirma));
        }
Example #3
0
        public async Task <IActionResult> Create([Bind("Identificacion,Nombre,Apellido,Telefono,Correo,Direccion,TipoClienteId")] Cliente cliente)
        {
            if (ModelState.IsValid)
            {
                db.Add(cliente);
                await db.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["TipoClienteId"] = new SelectList(db.TipoCliente, "Id", "Tipocliente", cliente.Id);
            return(View(cliente));
        }
        public async Task <IActionResult> Create([Bind("Id,Descripcion,TipoDoc,DocName")] TipoMovimiento tipoMovimiento)
        {
            if (ModelState.IsValid)
            {
                _context.Add(tipoMovimiento);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["TipoDoc"] = new SelectList(_context.TipoDocumento, "Id", "Descripcion", tipoMovimiento.TipoDoc);
            return(View(tipoMovimiento));
        }
        public async Task <IActionResult> Post(IngresosEgresosBanco ingresosEgresosBanco)
        {
            var user = this.GetServiceUser();

            if (settings.onlyNumber)
            {
                if (ingresosEgresosBanco.Referencia.Any(r => !char.IsNumber(r)))
                {
                    return(BadRequest(string.Format($"La referencia {ingresosEgresosBanco.Referencia} debe ser númerica")));
                }
            }

            ingresosEgresosBanco.CajaId   = user.cajaid;
            ingresosEgresosBanco.EstadoId = (int)IngresosEgresosBancoEstados.Registrado;

            var cambioOficial = await db.CambioOficial.FindAsync(ingresosEgresosBanco.FechaProceso);

            if (cambioOficial == null)
            {
                return(BadRequest("No se encontró la tasa de cambios para la fecha " + ingresosEgresosBanco.FechaProceso.ToShortDateString()));
            }

            ingresosEgresosBanco.TipoCambio = cambioOficial.Dolares;

            var bancoCuenta = DbIpsa.BancosCuentas.Find(ingresosEgresosBanco.BancoCuenta, "1000");

            if (bancoCuenta == null)
            {
                return(BadRequest("No se encontró información del banco " + bancoCuenta.Descripcion));
            }

            ingresosEgresosBanco.TipoMonedaId  = bancoCuenta.Moneda.Value;
            ingresosEgresosBanco.Username      = user.username;
            ingresosEgresosBanco.FechaRegistro = DateTime.Now;
            ingresosEgresosBanco.Procesado     = false;

            if (ModelState.IsValid)
            {
                db.Add(ingresosEgresosBanco);
                await db.SaveChangesAsync();
            }

            return(Json(ingresosEgresosBanco));
        }
Example #6
0
        public async Task <IActionResult> Create([Bind("Id,NoCaja,Description")] Caja caja)
        {
            if (ModelState.IsValid)
            {
                _context.Add(caja);
                await _context.SaveChangesAsync();

                var loterecibo = new LoteRecibos
                {
                    CajaId = caja.Id,
                    Actual = 0,
                    Final  = 0,
                    Inicio = 0
                };

                _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(caja));
        }
Example #7
0
        public async Task <IActionResult> Create(IngresoEgresosCajaViewModel iECajaViewModel)
        {
            if (settings.readLog)
            {
                createLogs(iECajaViewModel, "Create");
            }

            var user = this.GetServiceUser();

            if (user.description.Contains("2017") && iECajaViewModel.master.FechaProceso.Year != 2017)
            {
                return(BadRequest("El usuario solo puede registrar información para el año 2017"));
            }

            var ingresosEgresosCaja = iECajaViewModel.master;

            if (iECajaViewModel.master.FechaProceso.Year < 2016)
            {
                return(BadRequest("No se pueden registrar recibos menor a la fecha 01/01/2017"));
            }


            //Numero de recibo actual
            var lote = db.LoteRecibos.Where(lt => lt.CajaId == user.cajaid).FirstOrDefault();

            ingresosEgresosCaja.NumRecibo = (lote.Actual + 1).ToString().PadLeft(10, '0');
            lote.Actual = lote.Actual + 1;

            //var oldRecibo = db.IngresosEgresosCaja.Where(x=>x.NumRecibo == ingresosEgresosCaja.NumRecibo && x.CajaId == user.cajaid).FirstOrDefault();
            //if(oldRecibo != null){
            //  return BadRequest("Ya existe un recibo con el numero " + ingresosEgresosCaja.NumRecibo + " para la caja " + user.description);
            //}

            ingresosEgresosCaja.TipoMovimientoId = 32;
            ingresosEgresosCaja.EstadoId         = 1;
            ingresosEgresosCaja.FechaRegistro    = DateTime.Now;
            ingresosEgresosCaja.CajaId           = user.cajaid;
            ingresosEgresosCaja.Username         = user.username;

            var totalServicioDolar = iECajaViewModel.details.Sum(s => s.montodolar);
            var totalPagoDolar     = iECajaViewModel.referencias.Sum(p => p.totalD);

            if (Math.Round(totalServicioDolar, 4) != Math.Round(totalPagoDolar, 4))
            {
                return(BadRequest(string.Format($"El total cobrado por los servicios ({Math.Round(totalServicioDolar, 4)}) no conicide con el total pagado {Math.Round(totalPagoDolar, 4)}")));
            }

            var totalPagoCordoba = iECajaViewModel.referencias.Sum(p => p.totalC);

            if (iECajaViewModel.master.TipoMonedaId == (short)TipoMonedaParamFilter.Cordoba)
            {
                ingresosEgresosCaja.Total = totalPagoCordoba;
            }
            if (iECajaViewModel.master.TipoMonedaId == (short)TipoMonedaParamFilter.Dolar)
            {
                ingresosEgresosCaja.Total = totalPagoDolar;
            }

            foreach (var item in iECajaViewModel.details)
            {
                //Permitir valores en negativo
                if (item.cantidad <= 0)
                {
                    return(BadRequest(string.Format($"El monto o la cantidad para el servicio de la cuenta 1000{item.cta_cuenta}, no puede ser 0")));
                }
                var _montoDolar = item.precio * item.cantidad;
                ingresosEgresosCaja.IngresosEgresosCajaDetalle.Add(new IngresosEgresosCajaDetalle
                {
                    Cantidad    = item.cantidad,
                    CtaContable = $"1000{item.cta_cuenta}",
                    Precio      = item.precio,
                    Montodolar  = _montoDolar,
                    ReciboId    = ingresosEgresosCaja.Id
                });
            }


            foreach (var referencia in iECajaViewModel.referencias)
            {
                if (settings.onlyNumber)
                {
                    if (referencia.Referencia.Any(r => !char.IsNumber(r)))
                    {
                        return(BadRequest(string.Format($"La referencia {referencia.Referencia} debe ser númerica")));
                    }
                }

                if (referencia.TipoPagoId == (short)TipoPagoParamFilter.None)
                {
                    return(BadRequest(string.Format("Debe seleccionar un tipo de pago válido")));
                }

                if (referencia.TipoPagoId == (short)TipoPagoParamFilter.Minuta || referencia.TipoPagoId == (short)TipoPagoParamFilter.Transferencia || referencia.TipoPagoId == (short)TipoPagoParamFilter.Cheque)
                {
                    if (referencia.Referencia == null || referencia.Referencia.Trim().Length == 0)
                    {
                        return(BadRequest(string.Format("Debe de ingresar la referencia para la forma de pago cheque, minuta o transferencia")));
                    }

                    if (referencia.IdBanco == null || referencia.IdBanco == 0)
                    {
                        return(BadRequest(string.Format("Debe de ingresar el banco para la forma de pago cheque, minuta o transferencia")));
                    }
                }


                var _CambioOficial = db.CambioOficial.Find(referencia.Fecha);
                if (_CambioOficial == null)
                {
                    return(NotFound(string.Format("No se encontró la tasa de cambio para la fecha {0} de la referencia {1}", referencia.Fecha, referencia.Referencia)));
                }

                if (_CambioOficial.Dolares != referencia.TipoCambioManual && !user.roles.Contains((int)Roles.CambiarTasa))
                {
                    return(NotFound(string.Format("No tiene permisos para modificar la tasa de cambio, solicite el permiso de cambiar tasa de cambio", referencia.Fecha, referencia.Referencia)));
                }

                var tasaOficial = referencia.TipoCambioManual;

                ingresosEgresosCaja.IngresosEgresosCajaReferencias.Add(new IngresosEgresosCajaReferencias
                {
                    ReciboId      = ingresosEgresosCaja.Id,
                    MontoEfectivo = referencia.MontoEfectivo,
                    MontoMinu     = referencia.MontoMinu,
                    MontoCheq     = referencia.MontoCheq,
                    MontoTrans    = referencia.MontoTrans,
                    Total         = (referencia.MontoEfectivo + referencia.MontoMinu + referencia.MontoCheq + referencia.MontoTrans),
                    Fecha         = referencia.Fecha,
                    TipoCambio    = tasaOficial,
                    Referencia    = referencia.Referencia,
                    IdBanco       = referencia.IdBanco,
                    TipoPagoId    = referencia.TipoPagoId,
                    Procesado     = false
                });
            }

            ingresosEgresosCaja.Referencias = (short)ingresosEgresosCaja.IngresosEgresosCajaReferencias.Count();

            db.Add(ingresosEgresosCaja);

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                return(BadRequest());
            }
            return(Json(ingresosEgresosCaja,
                        new JsonSerializerSettings {
                MaxDepth = 1, ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore
            }
                        ));
        }