コード例 #1
0
        public async Task <ActionResult <BitacoraCierreProcesos> > Insert([FromBody] BitacoraCierreProcesos _BitacoraCierreProcesos)
        {
            BitacoraCierreProcesos _BitacoraCierreProcesosq = new BitacoraCierreProcesos();

            try
            {
                using (var transaction = _context.Database.BeginTransaction())
                {
                    try
                    {
                        _BitacoraCierreProcesosq = _BitacoraCierreProcesos;
                        _context.BitacoraCierreProceso.Add(_BitacoraCierreProcesosq);
                        await _context.SaveChangesAsync();

                        BitacoraWrite _write = new BitacoraWrite(_context, new Bitacora
                        {
                            IdOperacion  = _BitacoraCierreProcesos.IdProceso,
                            DocType      = "BitacoraCierreProcesos",
                            ClaseInicial =
                                Newtonsoft.Json.JsonConvert.SerializeObject(_BitacoraCierreProcesos, new JsonSerializerSettings {
                                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                            }),
                            ResultadoSerializado = Newtonsoft.Json.JsonConvert.SerializeObject(_BitacoraCierreProcesos, new JsonSerializerSettings {
                                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                            }),
                            Accion            = "Insert",
                            FechaCreacion     = DateTime.Now,
                            FechaModificacion = DateTime.Now,
                        });

                        await _context.SaveChangesAsync();

                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                        throw ex;
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                return(await Task.Run(() => BadRequest($"Ocurrio un error:{ex.Message}")));
            }

            return(await Task.Run(() => Ok(_BitacoraCierreProcesosq)));
        }
コード例 #2
0
        public async Task <IActionResult> GetBitacoraCierreProcesosById(Int64 BitacoraCierreProcesosId)
        {
            BitacoraCierreProcesos Items = new BitacoraCierreProcesos();

            try
            {
                Items = await _context.BitacoraCierreProceso.Where(q => q.IdProceso == BitacoraCierreProcesosId).FirstOrDefaultAsync();
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                return(await Task.Run(() => BadRequest($"Ocurrio un error:{ex.Message}")));
            }


            return(await Task.Run(() => Ok(Items)));
        }
コード例 #3
0
        public async Task <IActionResult> Delete([FromBody] BitacoraCierreProcesos _BitacoraCierreProcesos)
        {
            BitacoraCierreProcesos _BitacoraCierreProcesosq = new BitacoraCierreProcesos();

            try
            {
                _BitacoraCierreProcesosq = _context.BitacoraCierreProceso
                                           .Where(x => x.IdProceso == (Int64)_BitacoraCierreProcesos.IdProceso)
                                           .FirstOrDefault();

                _context.BitacoraCierreProceso.Remove(_BitacoraCierreProcesosq);
                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                return(await Task.Run(() => BadRequest($"Ocurrio un error:{ex.Message}")));
            }

            return(await Task.Run(() => Ok(_BitacoraCierreProcesosq)));
        }
コード例 #4
0
        public async Task <ActionResult <BitacoraCierreProcesos> > Update([FromBody] BitacoraCierreProcesos _BitacoraCierreProcesos)
        {
            BitacoraCierreProcesos _BitacoraCierreProcesosq = _BitacoraCierreProcesos;

            try
            {
                _BitacoraCierreProcesosq = await(from c in _context.BitacoraCierreProceso
                                                 .Where(q => q.IdProceso == _BitacoraCierreProcesos.IdProceso)
                                                 select c
                                                 ).FirstOrDefaultAsync();

                _context.Entry(_BitacoraCierreProcesosq).CurrentValues.SetValues((_BitacoraCierreProcesos));

                //_context.BitacoraCierreProcesos.Update(_BitacoraCierreProcesosq);
                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                return(await Task.Run(() => BadRequest($"Ocurrio un error:{ex.Message}")));
            }

            return(await Task.Run(() => Ok(_BitacoraCierreProcesosq)));
        }
コード例 #5
0
        public async Task <IActionResult> EjecutarCierreContable([FromBody] BitacoraCierreContable pBitacoraCierre)
        {
            using (var transaction = _context.Database.BeginTransaction())
            {
                try
                {
                    BitacoraCierreContable existeCierre = await _context.BitacoraCierreContable.Where(b => b.FechaCierre.Date == pBitacoraCierre.FechaCierre.Date).FirstOrDefaultAsync();

                    if (existeCierre != null)
                    {
                        return(await Task.Run(() => BadRequest("Ya existe un Cierre Contable para esta Fecha")));
                    }
                    BitacoraCierreContable cierre = new BitacoraCierreContable
                    {
                        FechaCierre         = pBitacoraCierre.FechaCierre.Date,
                        FechaCreacion       = DateTime.Now,
                        Estatus             = "PENDIENTE",
                        EstatusId           = 1,
                        UsuarioCreacion     = User.Claims.FirstOrDefault().Value.ToString(),
                        UsuarioModificacion = User.Claims.FirstOrDefault().Value.ToString(),
                        FechaModificacion   = DateTime.Now,
                    };
                    _context.BitacoraCierreContable.Add(cierre);

                    //Paso 1
                    BitacoraCierreProcesos proceso1 = new BitacoraCierreProcesos
                    {
                        IdBitacoraCierre = cierre.Id,
                        //IdProceso = 1,
                        Estatus             = "PENDIENTE",
                        Proceso             = "HISTORICOS",
                        PasoCierre          = 1,
                        UsuarioCreacion     = User.Claims.FirstOrDefault().Value.ToString(),
                        UsuarioModificacion = User.Claims.FirstOrDefault().Value.ToString(),
                        FechaModificacion   = DateTime.Now,
                        FechaCierre         = DateTime.Now,
                        FechaCreacion       = DateTime.Now,
                    };
                    //Paso2
                    BitacoraCierreProcesos proceso2 = new BitacoraCierreProcesos
                    {
                        IdBitacoraCierre = cierre.Id,
                        //IdProceso = 1,
                        Estatus             = "PENDIENTE",
                        Proceso             = "VALOR MAXIMO CERTIFICADO DE DEPOSITO",
                        PasoCierre          = 2,
                        UsuarioCreacion     = User.Claims.FirstOrDefault().Value.ToString(),
                        UsuarioModificacion = User.Claims.FirstOrDefault().Value.ToString(),
                        FechaModificacion   = DateTime.Now,
                        FechaCierre         = DateTime.Now,
                        FechaCreacion       = DateTime.Now,
                    };

                    //Paso3
                    BitacoraCierreProcesos proceso3 = new BitacoraCierreProcesos
                    {
                        IdBitacoraCierre = cierre.Id,
                        //IdProceso = 1,
                        Estatus             = "PENDIENTE",
                        Proceso             = "POLIZAS DE SEGURO VENCIDAS",
                        PasoCierre          = 3,
                        UsuarioCreacion     = User.Claims.FirstOrDefault().Value.ToString(),
                        UsuarioModificacion = User.Claims.FirstOrDefault().Value.ToString(),
                        FechaModificacion   = DateTime.Now,
                        FechaCierre         = DateTime.Now,
                        FechaCreacion       = DateTime.Now,
                    };
                    _context.BitacoraCierreProceso.Add(proceso1);
                    _context.BitacoraCierreProceso.Add(proceso2);
                    _context.BitacoraCierreProceso.Add(proceso3);

                    List <InsurancePolicy> insurancePolicies = _context.InsurancePolicy.Where(i => i.PolicyDueDate < DateTime.Now).ToList();

                    double SumaPolizas = _context.InsurancePolicy.Where(i => i.PolicyDueDate < DateTime.Now).ToList().
                                         Sum(s => s.LpsAmount);

                    if (insurancePolicies.Count > 0)
                    {
                        foreach (var item in insurancePolicies)
                        {
                            item.Status = "INACTIVA";
                        }
                        _context.InsurancePolicy.UpdateRange(insurancePolicies);
                        proceso3.Estatus = "FINALIZADO";

                        if (SumaPolizas > 0)
                        {
                            TiposDocumento            tipoDocumento = _context.TiposDocumento.Where(d => d.Descripcion == "Polizas").FirstOrDefault();
                            JournalEntryConfiguration _journalentryconfiguration = await(_context.JournalEntryConfiguration
                                                                                         .Where(q => q.TransactionId == tipoDocumento.IdTipoDocumento)
                                                                                         //.Where(q => q.BranchId == _Invoiceq.BranchId)
                                                                                         .Where(q => q.EstadoName == "Activo")
                                                                                         .Include(q => q.JournalEntryConfigurationLine)
                                                                                         ).FirstOrDefaultAsync();


                            double sumacreditos = 0, sumadebitos = 0;
                            if (_journalentryconfiguration != null)
                            {
                                //Crear el asiento contable configurado
                                //.............................///////
                                JournalEntry _je = new JournalEntry
                                {
                                    Date               = pBitacoraCierre.FechaCierre,
                                    Memo               = "Vecimiento de Polizas",
                                    DatePosted         = pBitacoraCierre.FechaCierre,
                                    ModifiedDate       = DateTime.Now,
                                    CreatedDate        = DateTime.Now,
                                    ModifiedUser       = pBitacoraCierre.UsuarioCreacion,
                                    CreatedUser        = pBitacoraCierre.UsuarioCreacion,
                                    DocumentId         = pBitacoraCierre.Id,
                                    TypeOfAdjustmentId = 65,
                                    VoucherType        = Convert.ToInt32(tipoDocumento.IdTipoDocumento),
                                };



                                foreach (var item in _journalentryconfiguration.JournalEntryConfigurationLine)
                                {
                                    _je.JournalEntryLines.Add(new JournalEntryLine
                                    {
                                        AccountId    = Convert.ToInt32(item.AccountId),
                                        AccountName  = item.AccountName,
                                        Description  = item.AccountName,
                                        Credit       = item.DebitCredit == "Credito" ? SumaPolizas : 0,
                                        Debit        = item.DebitCredit == "Debito" ? SumaPolizas : 0,
                                        CreatedDate  = DateTime.Now,
                                        ModifiedDate = DateTime.Now,
                                        CreatedUser  = pBitacoraCierre.UsuarioCreacion,
                                        ModifiedUser = pBitacoraCierre.UsuarioModificacion,
                                        Memo         = "",
                                    });

                                    // sumacreditos += item.DebitCredit == "Credito" ? _Invoiceq.Tax + _Invoiceq.Tax18 : 0;
                                    //sumadebitos += item.DebitCredit == "Debito" ? _Invoiceq.Tax + _Invoiceq.Tax18 : 0;
                                }
                            }
                        }
                    }
                    else
                    {
                        proceso3.Estatus = "FINALIZADO";
                        //proceso3.Mensaje = "FINALIZADO No se encontraron Polizas Vencidas";
                    }

                    /////////////Fin del Paso 3

                    _context.SaveChanges();

                    //List< BitacoraCierreProcesos> spCierre = await _context.BitacoraCierreProceso.FromSql("Cierres @p0, @p1, @p2", pBitacoraCierre.FechaCierre, cierre.Id).ToListAsync();
                    _context.Database.ExecuteSqlCommand("Cierres @p0, @p1", pBitacoraCierre.FechaCierre, cierre.Id);

                    transaction.Commit();
                    return(await Task.Run(() => Ok()));
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    return(await Task.Run(() => BadRequest(ex.Message)));
                }
            }
        }