public ActionResult Index(int IdanioFiscal = 0)
        {
            ViewBag.IdanioFiscal = IdanioFiscal;

            #region Validar Session
            if (string.IsNullOrEmpty(SessionFixed.IdTransaccionSession))
            {
                return(RedirectToAction("Login", new { Area = "", Controller = "Account" }));
            }
            SessionFixed.IdTransaccionSession       = (Convert.ToDecimal(SessionFixed.IdTransaccionSession) + 1).ToString();
            SessionFixed.IdTransaccionSessionActual = SessionFixed.IdTransaccionSession;
            #endregion

            #region Permisos
            seg_Menu_x_Empresa_x_Usuario_Info info = bus_permisos.get_list_menu_accion(Convert.ToInt32(SessionFixed.IdEmpresa), SessionFixed.IdUsuario, "Contabilidad", "PeriodoContable", "Index");
            ViewBag.Nuevo     = info.Nuevo;
            ViewBag.Modificar = info.Modificar;
            ViewBag.Anular    = info.Anular;
            #endregion

            ct_periodo_Info model = new ct_periodo_Info
            {
                IdEmpresa            = Convert.ToInt32(SessionFixed.IdEmpresa),
                IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSession)
            };

            var lst = bus_periodo.get_list(model.IdEmpresa, true);
            Lista_Periodo.set_list(lst, model.IdTransaccionSession);
            return(View(model));
        }
        public ActionResult Consultar(int IdPeriodo = 0, bool Exito = false)
        {
            ct_periodo_Info model = bus_periodo.get_info(Convert.ToInt32(SessionFixed.IdEmpresa), IdPeriodo);

            model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSession);
            model.lst_periodo_x_modulo = bus_periodo_x_modulo.GetList(model.IdEmpresa, Convert.ToInt32(model.IdPeriodo));
            Lista_periodo_x_modulo.set_list(model.lst_periodo_x_modulo, model.IdTransaccionSession);

            if (model == null)
            {
                return(RedirectToAction("Index"));
            }

            #region Permisos
            seg_Menu_x_Empresa_x_Usuario_Info info = bus_permisos.get_list_menu_accion(Convert.ToInt32(SessionFixed.IdEmpresa), SessionFixed.IdUsuario, "Contabilidad", "PeriodoContable", "Index");
            if (model.pe_estado == "I")
            {
                info.Modificar = false;
                info.Anular    = false;
            }
            model.Nuevo     = (info.Nuevo == true ? 1 : 0);
            model.Modificar = (info.Modificar == true ? 1 : 0);
            model.Anular    = (info.Anular == true ? 1 : 0);
            #endregion

            if (Exito)
            {
                ViewBag.MensajeSuccess = MensajeSuccess;
            }
            cargar_combos();
            return(View(model));
        }
Exemple #3
0
        public ActionResult Nuevo(int IdPeriodo = 0)
        {
            cargar_combos();
            ct_periodo_Info model = new ct_periodo_Info();

            return(View(model));
        }
 public bool guardarDB(ct_periodo_Info info)
 {
     try
     {
         using (Entities_contabilidad Context = new Entities_contabilidad())
         {
             ct_periodo Entity = new ct_periodo
             {
                 IdPeriodo    = info.IdPeriodo,
                 IdEmpresa    = info.IdEmpresa,
                 IdanioFiscal = info.IdanioFiscal,
                 pe_FechaIni  = info.pe_FechaIni.Date,
                 pe_FechaFin  = info.pe_FechaFin.Date,
                 pe_mes       = info.pe_mes,
                 pe_cerrado   = info.pe_cerrado_bool == true ? "S" : "N",
                 pe_estado    = info.pe_estado = "A"
             };
             Context.ct_periodo.Add(Entity);
             Context.SaveChanges();
         }
         return(true);
     }
     catch (Exception)
     {
         throw;
     }
 }
 public bool modificarDB(ct_periodo_Info info)
 {
     try
     {
         using (Entities_contabilidad Context = new Entities_contabilidad())
         {
             ct_periodo Entity = Context.ct_periodo.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdPeriodo == info.IdPeriodo);
             if (Entity == null)
             {
                 return(false);
             }
             Entity.IdPeriodo   = info.IdPeriodo;
             Entity.pe_mes      = info.pe_mes;
             Entity.pe_FechaFin = info.pe_FechaFin.Date;
             Entity.pe_FechaIni = info.pe_FechaIni.Date;
             Entity.pe_cerrado  = info.pe_cerrado_bool == true ? "S" : "N";
             Context.SaveChanges();
         }
         return(true);
     }
     catch (Exception)
     {
         throw;
     }
 }
        public ct_periodo_Info get_info(int IdEmpresa, int IdPeriodo)
        {
            try
            {
                ct_periodo_Info info = new ct_periodo_Info();

                using (Entities_contabilidad Context = new Entities_contabilidad())
                {
                    ct_periodo Entity = Context.ct_periodo.FirstOrDefault(q => q.IdEmpresa == IdEmpresa && q.IdPeriodo == IdPeriodo);
                    if (Entity == null)
                    {
                        return(null);
                    }
                    info = new ct_periodo_Info
                    {
                        IdPeriodo       = Entity.IdPeriodo,
                        IdEmpresa       = Entity.IdEmpresa,
                        IdanioFiscal    = Entity.IdanioFiscal,
                        pe_FechaIni     = Entity.pe_FechaIni,
                        pe_FechaFin     = Entity.pe_FechaFin,
                        pe_mes          = Entity.pe_mes,
                        pe_cerrado_bool = Entity.pe_cerrado == "S" ? true : false,
                        pe_estado       = Entity.pe_estado
                    };
                }
                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemple #7
0
 public ActionResult Modificar(ct_periodo_Info model)
 {
     model.IdEmpresa = Convert.ToInt32(Session["IdEmpresa"]);
     if (!bus_periodo.modificarDB(model))
     {
         cargar_combos();
         return(View(model));
     }
     return(RedirectToAction("Index"));
 }
Exemple #8
0
 public ats_Info()
 {
     info_periodo      = new ct_periodo_Info();
     lst_compras       = new List <compras_Info>();
     lst_ventas        = new List <ventas_Info>();
     lst_retenciones   = new List <retenciones_Info>();
     lst_importaciones = new List <importaciones_info>();
     lst_anulados      = new List <comprobantesAnulados_info>();
     lst_exportaciones = new List <exportaciones_Info>();
 }
        public ActionResult Nuevo(ct_anio_fiscal_Info model)
        {
            var IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa);

            model.lst_periodo = new List <ct_periodo_Info>();
            if (!validar(model, ref mensaje))
            {
                ViewBag.mensaje = mensaje;
                cargar_combos(Convert.ToInt32(SessionFixed.IdEmpresa));
                return(View(model));
            }
            if (bus_anio_fiscal.validar_existe_Idanio(model.IdanioFiscal))
            {
                ViewBag.mensaje = "El año ya se encuentra registrado";
                cargar_combos(Convert.ToInt32(SessionFixed.IdEmpresa));
                return(View(model));
            }
            model.info_anio_ctautil.IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa);
            var mes_ini = model.af_fechaIni.Month;
            var mes_fin = model.af_fechaFin.Month;
            var meses   = mes_fin - mes_ini;

            for (int i = mes_ini; i <= mes_fin; i++)
            {
                var mes       = i.ToString().PadLeft(2, '0');
                var IdPeriodo = model.IdanioFiscal + mes;
                var anio      = model.IdanioFiscal;
                var ini       = new DateTime(anio, Convert.ToInt32(i), 1);
                var fin       = new DateTime(anio, Convert.ToInt32(i), 1).AddMonths(1).AddDays(-1);

                var info_periodo = new ct_periodo_Info
                {
                    IdEmpresa    = IdEmpresa,
                    IdanioFiscal = model.IdanioFiscal,
                    IdPeriodo    = Convert.ToInt32(IdPeriodo),
                    pe_mes       = i,
                    pe_FechaIni  = ini,
                    pe_FechaFin  = fin,
                    pe_estado    = "A",
                    pe_cerrado   = "N"
                };

                model.lst_periodo.Add(info_periodo);
            }

            if (!bus_anio_fiscal.guardarDB(model))
            {
                model.info_anio_ctautil.IdEmpresa    = Convert.ToInt32(SessionFixed.IdEmpresa);
                model.info_anio_ctautil.IdanioFiscal = model.IdanioFiscal;
                bus_aniocta.guardarDB(model.info_anio_ctautil);
                cargar_combos(Convert.ToInt32(SessionFixed.IdEmpresa));
                return(RedirectToAction("Index"));
            }
            return(RedirectToAction("Consultar", new { IdanioFiscal = model.IdanioFiscal, Exito = true }));
        }
Exemple #10
0
 public bool anularDB(ct_periodo_Info info)
 {
     try
     {
         return(odata.anularDB(info));
     }
     catch (Exception)
     {
         throw;
     }
 }
Exemple #11
0
 public bool guardarMasivoDB(ct_periodo_Info info)
 {
     try
     {
         return(odata.guardarMasivoDB(info));
     }
     catch (Exception)
     {
         throw;
     }
 }
        public JsonResult GetPeriodo(int IdPeriodo = 0)
        {
            int IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa);
            var resultado = bus_periodo.get_info(IdEmpresa, IdPeriodo);

            if (resultado == null)
            {
                resultado = new ct_periodo_Info();
            }
            return(Json(resultado, JsonRequestBehavior.AllowGet));
        }
Exemple #13
0
        public ActionResult Anular(int IdPeriodo = 0)
        {
            ct_periodo_Info model = bus_periodo.get_info(Convert.ToInt32(Session["IdEmpresa"]), IdPeriodo);

            if (model == null)
            {
                return(RedirectToAction("Index"));
            }
            cargar_combos();
            return(View(model));
        }
Exemple #14
0
        public ActionResult Nuevo(ct_periodo_Info model)
        {
            model.IdEmpresa            = Convert.ToInt32(SessionFixed.IdEmpresa);
            model.IdUsuario            = SessionFixed.IdUsuario;
            model.lst_periodo_x_modulo = Lista_periodo_x_modulo.get_list(model.IdTransaccionSession);

            if (!bus_periodo.guardarDB(model))
            {
                cargar_combos();
                return(View(model));
            }
            return(RedirectToAction("Index"));
        }
        public ActionResult Modificar(ct_periodo_Info model)
        {
            model.IdEmpresa            = Convert.ToInt32(SessionFixed.IdEmpresa);
            model.IdUsuario            = SessionFixed.IdUsuario;
            model.lst_periodo_x_modulo = Lista_periodo_x_modulo.get_list(model.IdTransaccionSession);

            if (!bus_periodo.modificarDB(model))
            {
                cargar_combos();
                return(View(model));
            }
            return(RedirectToAction("Consultar", new { IdPeriodo = model.IdPeriodo, Exito = true }));
        }
Exemple #16
0
        public ActionResult Anular(int IdPeriodo = 0)
        {
            ct_periodo_Info model = bus_periodo.get_info(Convert.ToInt32(SessionFixed.IdEmpresa), IdPeriodo);

            model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSession);
            model.lst_periodo_x_modulo = bus_periodo_x_modulo.GetList(model.IdEmpresa, Convert.ToInt32(model.IdPeriodo));
            Lista_periodo_x_modulo.set_list(model.lst_periodo_x_modulo, model.IdTransaccionSession);

            if (model == null)
            {
                return(RedirectToAction("Index"));
            }
            cargar_combos();
            return(View(model));
        }
Exemple #17
0
        public ActionResult Nuevo(int IdPeriodo = 0)
        {
            cargar_combos();
            var IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa);

            ct_periodo_Info model = new ct_periodo_Info
            {
                IdEmpresa            = IdEmpresa,
                IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSession),
                IdPeriodo            = IdPeriodo
            };

            Lista_periodo_x_modulo.set_list(new List <ct_periodo_x_tb_modulo_Info>(), model.IdTransaccionSession);

            return(View(model));
        }
        public ActionResult NuevoMasivo(ct_periodo_Info model)
        {
            model.IdEmpresa            = Convert.ToInt32(SessionFixed.IdEmpresa);
            model.IdUsuario            = SessionFixed.IdUsuario;
            model.lst_periodo_x_modulo = Lista_periodo_x_modulo.get_list(model.IdTransaccionSession);
            model.lst_periodo          = new List <ct_periodo_Info>();
            var Ini = Convert.ToDateTime("01" + "/" + "01" + "/" + model.IdanioFiscal);
            var Fin = Convert.ToDateTime("31" + "/" + "12" + "/" + model.IdanioFiscal);

            var mes_ini = Ini.Month;
            var mes_fin = Fin.Month;
            var meses   = mes_fin - mes_ini;

            for (int i = mes_ini; i <= mes_fin; i++)
            {
                var mes       = i.ToString().PadLeft(2, '0');
                var IdPeriodo = model.IdanioFiscal + mes;
                var anio      = model.IdanioFiscal;
                var ini       = new DateTime(anio, Convert.ToInt32(i), 1);
                var fin       = new DateTime(anio, Convert.ToInt32(i), 1).AddMonths(1).AddDays(-1);

                var info_periodo = new ct_periodo_Info
                {
                    IdEmpresa    = model.IdEmpresa,
                    IdanioFiscal = model.IdanioFiscal,
                    IdPeriodo    = Convert.ToInt32(IdPeriodo),
                    pe_mes       = i,
                    pe_FechaIni  = ini,
                    pe_FechaFin  = fin,
                    pe_estado    = "A",
                    pe_cerrado   = "N"
                };

                model.lst_periodo.Add(info_periodo);
            }
            if (!bus_periodo.guardarMasivoDB(model))
            {
                cargar_combos();
                return(View(model));
            }
            return(RedirectToAction("Index"));
        }
        public bool anularDB(ct_periodo_Info info)
        {
            try
            {
                using (Entities_contabilidad Context = new Entities_contabilidad())
                {
                    ct_periodo Entity = Context.ct_periodo.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdPeriodo == info.IdPeriodo);
                    if (Entity == null)
                    {
                        return(false);
                    }
                    Entity.pe_estado = info.pe_estado = "I";

                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public ActionResult NuevoMasivo()
        {
            #region Permisos
            seg_Menu_x_Empresa_x_Usuario_Info info = bus_permisos.get_list_menu_accion(Convert.ToInt32(SessionFixed.IdEmpresa), SessionFixed.IdUsuario, "Contabilidad", "PeriodoContable", "Index");
            if (!info.Nuevo)
            {
                return(RedirectToAction("Index"));
            }
            #endregion

            cargar_combos_masivo();
            var IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa);

            ct_periodo_Info model = new ct_periodo_Info
            {
                IdEmpresa            = IdEmpresa,
                IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSession)
            };
            Lista_periodo_x_modulo.set_list(new List <ct_periodo_x_tb_modulo_Info>(), model.IdTransaccionSession);

            return(View(model));
        }
        public ActionResult Anular(int IdPeriodo = 0)
        {
            #region Permisos
            seg_Menu_x_Empresa_x_Usuario_Info info = bus_permisos.get_list_menu_accion(Convert.ToInt32(SessionFixed.IdEmpresa), SessionFixed.IdUsuario, "Contabilidad", "PeriodoContable", "Index");
            if (!info.Anular)
            {
                return(RedirectToAction("Index"));
            }
            #endregion

            ct_periodo_Info model = bus_periodo.get_info(Convert.ToInt32(SessionFixed.IdEmpresa), IdPeriodo);
            model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSession);
            model.lst_periodo_x_modulo = bus_periodo_x_modulo.GetList(model.IdEmpresa, Convert.ToInt32(model.IdPeriodo));
            Lista_periodo_x_modulo.set_list(model.lst_periodo_x_modulo, model.IdTransaccionSession);

            if (model == null)
            {
                return(RedirectToAction("Index"));
            }
            cargar_combos();
            return(View(model));
        }
        private bool Validar(ct_periodo_Info i_validar, ref string msg)
        {
            i_validar.lst_periodo_x_modulo = Lista_periodo_x_modulo.get_list(i_validar.IdTransaccionSession);

            foreach (var item1 in i_validar.lst_periodo_x_modulo)
            {
                var contador = 0;
                foreach (var item2 in i_validar.lst_periodo_x_modulo)
                {
                    if (item1.IdModulo == item2.IdModulo)
                    {
                        contador++;
                    }

                    if (contador > 1)
                    {
                        mensaje = "Existen módulos repetidos en el detalle";
                        return(false);
                    }
                }
            }

            return(true);
        }
Exemple #23
0
        public iva get_ats(int IdEmpresa, int IdPeriodo, int IdSucursal, int[] IntArray)
        {
            try
            {
                string registro = "";
                iva    ats      = new iva();
                info_periodo = data_periodo.get_info(IdEmpresa, IdPeriodo);
                info_empresa = data_empresa.get_info(IdEmpresa);
                ats_Info info_ats = get_info(IdEmpresa, IdPeriodo, IdSucursal, IntArray);

                #region cabecera del xml
                ats.IdInformante = info_empresa.em_ruc;
                ats.razonSocial  = info_empresa.RazonSocial.Replace(".", " ").Replace("ñ", "n").Replace("Ñ", "N");
                ats.Anio         = info_periodo.IdanioFiscal.ToString();
                ats.Mes          = info_periodo.pe_mes.ToString().PadLeft(2, '0');

                ats.TipoIDInformante = ivaTypeTipoIDInformante.R;
                ats.codigoOperativo  = codigoOperativoType.IVA;
                ats.totalVentas      = info_ats.lst_ventas.Sum(v => v.ventasEstab);
                #endregion

                #region listado de compras
                if (info_ats.lst_compras != null)
                {
                    if (info_ats.lst_compras.Count() > 0)
                    {
                        ats.compras = new List <detalleCompras>();
                    }
                    info_ats.lst_compras.ForEach(
                        comp =>
                    {
                        detalleCompras comp_det = new detalleCompras();

                        registro                           = comp.denopr + " " + comp.secuencial;
                        comp.denopr                        = cl_funciones.QuitartildesEspaciosPuntos(comp.denopr);
                        comp_det.codSustento               = comp.codSustento;
                        comp_det.tpIdProv                  = comp.tpIdProv;
                        comp_det.idProv                    = comp.idProv;
                        comp_det.tipoComprobante           = comp.tipoComprobante;
                        comp_det.parteRel                  = parteRelType.NO;
                        comp_det.fechaRegistro             = comp.fechaRegistro.ToString().Substring(0, 10);
                        comp_det.establecimiento           = comp.establecimiento;
                        comp_det.puntoEmision              = comp.puntoEmision;
                        comp_det.secuencial                = comp.secuencial;
                        comp_det.fechaEmision              = comp.fechaEmision.ToString().Substring(0, 10);
                        comp_det.autorizacion              = comp.autorizacion;
                        comp_det.baseNoGraIva              = comp.baseNoGraIva.ToString("n2");
                        comp_det.baseImponible             = comp.baseImponible.ToString("n2");
                        comp_det.baseImpGrav               = comp.baseImpGrav.ToString("n2");
                        comp_det.baseImpExe                = comp.baseImpExe.ToString("n2");
                        comp_det.montoIce                  = comp.montoIce.ToString("n2");
                        comp_det.montoIva                  = comp.montoIva.ToString("n2");
                        comp_det.valRetBien10              = "0.00";
                        comp_det.valRetServ20              = "0.00";
                        comp_det.valorRetBienes            = "0.00";
                        comp_det.valRetServ50              = "0.00";
                        comp_det.valorRetServicios         = "0.00";
                        comp_det.valRetServ100             = "0.00";
                        comp_det.totbasesImpReemb          = "0.00";
                        comp_det.valRetBien10Specified     = true;
                        comp_det.valRetServ20Specified     = true;
                        comp_det.valRetServ50Specified     = true;
                        comp_det.totbasesImpReembSpecified = true;
                        pagoExterior item_pago             = new pagoExterior();
                        item_pago.pagoLocExt               = (comp.pagoLocExt == "LOC") ? pagoLocExtType.Item01 : pagoLocExtType.Item02;
                        item_pago.paisEfecPago             = (item_pago.pagoLocExt == pagoLocExtType.Item01) ? "NA" : (comp.pagoLocExt != null || comp.pagoLocExt != "") ? comp.pagoLocExt : "NA";
                        item_pago.aplicConvDobTrib         = aplicConvDobTribType.NA;
                        item_pago.pagExtSujRetNorLeg       = aplicConvDobTribType.NA;
                        comp_det.pagoExterior              = item_pago;
                        if (comp_det.idProv == "0601895618001")
                        {
                        }
                        if ((Convert.ToDecimal(comp.baseImponible) + Convert.ToDecimal(comp.baseImpGrav) + Convert.ToDecimal(comp.montoIva)) >= 1000)
                        {
                            comp_det.formasDePago = null;
                            string[] AFormaPago   = { "20" };
                            comp_det.formasDePago = AFormaPago;
                        }
                        #region Reembolso
                        if (comp.codSustento == "41")
                        {
                            comp_det.codSustento               = "01";
                            comp_det.reembolsos                = new List <reembolso>();
                            reembolso reem                     = new reembolso();
                            reem.tipoComprobanteReemb          = "01";
                            reem.tpIdProvReemb                 = comp.tpIdProv;
                            reem.idProvReemb                   = comp.idProv;
                            reem.establecimientoReemb          = comp.establecimiento;
                            reem.puntoEmisionReemb             = comp.puntoEmision;
                            reem.secuencialReemb               = comp.secuencial;
                            reem.fechaEmisionReemb             = comp.fechaEmision.ToString().Substring(0, 10);
                            reem.autorizacionReemb             = comp.autorizacion;
                            reem.baseImponibleReemb            = comp.baseImponible;
                            reem.baseImpGravReemb              = comp.baseImpGrav;
                            reem.baseImpExeReemb               = comp.baseImpExe;
                            reem.montoIceRemb                  = comp.montoIce;
                            reem.montoIvaRemb                  = comp.montoIva;
                            comp_det.totbasesImpReembSpecified = true;
                            comp_det.totbasesImpReemb          = Convert.ToString(Convert.ToDecimal(comp.baseImponible) + Convert.ToDecimal(comp.baseImpGrav));
                            comp_det.reembolsos.Add(reem);
                        }

                        #endregion

                        #region retencion por facturas
                        if (info_ats.lst_retenciones != null)
                        {
                            if (info_ats.lst_retenciones.Count() > 0)
                            {
                                var lstret_x_fac = info_ats.lst_retenciones.Where(r => r.Cedula_ruc == comp.idProv & r.co_serie == comp.establecimiento + "-" + comp.puntoEmision & comp.secuencial == r.co_factura);
                                if (lstret_x_fac != null)
                                {
                                    if (lstret_x_fac.Count() > 0)
                                    {
                                        comp_det.air = new List <detalleAir>();
                                        foreach (var item in lstret_x_fac)
                                        {
                                            if (item.re_tipo_Ret == "RTF")
                                            {
                                                comp_det.air.Add(new detalleAir
                                                {
                                                    codRetAir     = item.codRetAir.ToString(),
                                                    baseImpAir    = item.baseImpAir.ToString(),
                                                    porcentajeAir = item.porcentajeAir.ToString(),
                                                    valRetAir     = item.valRetAir.ToString(),
                                                });
                                            }
                                            else
                                            {
                                                if (item.porcentajeAir == "10")
                                                {
                                                    comp_det.valRetBien10 = item.valRetAir.ToString();
                                                }
                                                if (item.porcentajeAir == "20")
                                                {
                                                    comp_det.valRetServ20 = item.valRetAir.ToString();
                                                }
                                                if (item.porcentajeAir == "30")
                                                {
                                                    comp_det.valorRetBienes = item.valRetAir.ToString();
                                                }
                                                if (item.porcentajeAir == "50")
                                                {
                                                    comp_det.valRetServ50 = item.valRetAir.ToString();
                                                }
                                                if (item.porcentajeAir == "70")
                                                {
                                                    comp_det.valorRetServicios = item.valRetAir.ToString();
                                                }
                                                if (item.porcentajeAir == "100")
                                                {
                                                    comp_det.valRetServ100 = item.valRetAir.ToString();
                                                }
                                            }
                                        }
                                    }
                                    else   // si no tiene retencion
                                    {
                                        comp_det.air = new List <detalleAir>();
                                        comp_det.air.Add(new detalleAir
                                        {
                                            codRetAir     = "332",
                                            baseImpAir    = Convert.ToDecimal(comp.baseImpGrav + comp.baseImponible).ToString(),
                                            porcentajeAir = "0",
                                            valRetAir     = "0.00",
                                        });
                                    }
                                }
                            }
                        }
                        #endregion
                        ats.compras.Add(comp_det);
                    });
                }
                #endregion

                #region Ventas
                if (info_ats.lst_ventas != null)
                {
                    #region Agrupando clintes



                    var lst_ventas_x_cliente = (from q in info_ats.lst_ventas

                                                group q by new
                    {
                        q.idCliente,
                        q.DenoCli,
                        q.tipoCliente,
                        q.tipoComprobante,
                        q.tpIdCliente
                    }
                                                into g
                                                select new ventas_Info
                    {
                        idCliente = g.Key.idCliente,
                        DenoCli = g.Key.DenoCli,
                        tipoCliente = g.Key.tipoCliente,
                        tpIdCliente = g.Key.tpIdCliente,
                        tipoComprobante = g.Key.tipoComprobante,
                        baseNoGraIva = g.Sum(y => y.baseNoGraIva),
                        baseImponible = g.Sum(y => y.baseImponible),
                        baseImpGrav = g.Sum(y => y.baseImpGrav),
                        montoIva = g.Sum(y => y.montoIva),
                        montoIce = g.Sum(y => y.montoIce),
                        valorRetIva = g.Sum(y => y.valorRetIva),
                        valorRetRenta = g.Sum(y => y.valorRetRenta),
                        numeroComprobantes = info_ats.lst_ventas.Count()
                    }).ToList();


                    if (lst_ventas_x_cliente.Count > 0)
                    {
                        ats.ventas = new List <detalleVentas>();
                        lst_ventas_x_cliente.ForEach(
                            vent =>
                        {
                            detalleVentas det_ventas         = new detalleVentas();
                            det_ventas.tpIdCliente           = vent.tpIdCliente;
                            det_ventas.idCliente             = vent.idCliente;
                            det_ventas.parteRelVtas          = parteRelType.NO;
                            det_ventas.parteRelVtasSpecified = true;

                            if (vent.tipoCliente == " 01" && vent.idCliente != "9999999999999")
                            {
                                det_ventas.tipoCliente = vent.tipoCliente;
                            }

                            if (det_ventas.idCliente == "9999999999999")
                            {
                                det_ventas.tpIdCliente           = "07";
                                det_ventas.parteRelVtasSpecified = false;
                            }
                            if (det_ventas.tpIdCliente == "06")
                            {
                                det_ventas.tipoCliente = vent.tipoCliente;
                                det_ventas.denoCli     = vent.DenoCli;
                            }

                            vent.DenoCli = cl_funciones.QuitartildesEspaciosPuntos(vent.DenoCli);
                            det_ventas.tipoComprobante    = "18";
                            det_ventas.tipoEmision        = tipoEmisionType.F;
                            det_ventas.numeroComprobantes = vent.numeroComprobantes.ToString();
                            det_ventas.baseNoGraIva       = vent.baseNoGraIva;
                            det_ventas.baseImponible      = vent.baseImponible;
                            det_ventas.baseImpGrav        = vent.baseImpGrav;
                            det_ventas.montoIva           = vent.montoIva;
                            det_ventas.montoIce           = vent.montoIce;
                            det_ventas.valorRetIva        = vent.valorRetIva.ToString("n2");
                            det_ventas.valorRetRenta      = vent.valorRetRenta.ToString("n2");
                            det_ventas.montoIceSpecified  = true;
                            det_ventas.formasDePago       = null;
                            string[] AFormaPago           = { "20" };
                            det_ventas.formasDePago       = AFormaPago;

                            ats.ventas.Add(det_ventas);
                        }
                            );
                    }
                }



                #endregion



                #endregion

                #region ventas por establecimientos
                if (info_ats.lst_ventas != null)
                {
                    if (info_ats.lst_ventas.Count() > 0)
                    {
                        ats.ventasEstablecimiento = new List <ventaEst>();

                        var vtas = info_ats.lst_ventas.GroupBy(x => x.codEstab)
                                   .Select(x => new
                        {
                            codEstab    = x.Key,
                            ventasEstab = x.Sum(y => y.ventasEstab)
                        }).ToList();

                        foreach (var item in vtas)
                        {
                            ventaEst vtas_esta = new ventaEst();
                            vtas_esta.codEstab    = item.codEstab;
                            vtas_esta.ventasEstab = item.ventasEstab;
                            vtas_esta.ivaComp     = Convert.ToDecimal("0.00");
                            ats.ventasEstablecimiento.Add(vtas_esta);
                        }
                    }
                }
                #endregion

                #region exportaciones
                if (info_ats.lst_exportaciones != null)
                {
                    if (info_ats.lst_exportaciones.Count() > 0)
                    {
                        ats.exportaciones = new List <detalleExportacionesType>();
                        info_ats.lst_exportaciones.ForEach
                        (
                            exp =>
                        {
                            detalleExportacionesType exp_det = new detalleExportacionesType();
                            exp_det.tpIdClienteEx            = exp.tpIdClienteEx;
                            exp_det.idClienteEx         = exp.idClienteEx;
                            exp_det.parteRelExp         = parteRelType.NO;
                            exp_det.tipoCli             = "02";
                            exp_det.denoExpCli          = exp.denoExpCli = cl_funciones.QuitartildesEspaciosPuntos(exp.denoExpCli);
                            exp_det.tipoRegi            = tipoRegiType.Item01;
                            exp_det.paisEfecPagoGen     = exp.paisEfecPagoGen;
                            exp_det.paisEfecExp         = exp.paisEfecExp;
                            exp_det.exportacionDe       = exp.exportacionDe;
                            exp_det.tipoComprobante     = exp.tipoComprobante;
                            exp_det.fechaEmbarque       = exp.fechaEmbarque.ToString().Substring(0, 10);
                            exp_det.valorFOB            = (exp.valorFOB) == null?Convert.ToDecimal(0.00):Convert.ToDecimal(exp.valorFOB);
                            exp_det.valorFOBComprobante = (exp.valorFOB) == null ? Convert.ToDecimal(0.00) : Convert.ToDecimal(exp.valorFOBComprobante);
                            exp_det.establecimiento     = exp.establecimiento;
                            exp_det.puntoEmision        = exp.puntoEmision;
                            exp_det.secuencial          = exp.secuencial;
                            exp_det.autorizacion        = (exp.autorizacion) == null?"34345454656453":exp.autorizacion;
                            exp_det.fechaEmision        = exp.fechaEmision.ToString().Substring(0, 10);
                            //exp_det.pagoRegFisSpecified = true;
                            exp_det.parteRelExpSpecified = true;
                            exp_det.tipoRegiSpecified    = true;
                            //exp_det.impuestoOtroPaisSpecified = true;
                            //exp_det.ingExtGravOtroPaisSpecified = true;
                            ats.exportaciones.Add(exp_det);
                        }
                        );
                    }
                }
                #endregion

                #region Anulados
                if (info_ats.lst_anulados != null)
                {
                    if (info_ats.lst_anulados.Count() > 0)
                    {
                        ats.anulados = new List <detalleAnulados>();
                        info_ats.lst_anulados.ForEach
                        (
                            anu =>
                        {
                            detalleAnulados anula  = new detalleAnulados();
                            anula.tipoComprobante  = anu.tipoComprobante;
                            anula.establecimiento  = anu.Establecimiento;
                            anula.puntoEmision     = anu.puntoEmision;
                            anula.secuencialInicio = anu.secuencialInicio;
                            anula.secuencialFin    = anu.secuencialFin;
                            anula.autorizacion     = anu.Autorizacion;
                            ats.anulados.Add(anula);
                        }
                        );
                    }
                }
                #endregion


                if (info_ats.lst_ventas.Count == 0)
                {
                    ats.totalVentasSpecified = false;
                }
                else
                {
                    ats.numEstabRuc = info_ats.lst_ventas.GroupBy(x => x.codEstab)
                                      .Select(x => new
                    {
                        codEstab    = x.Key,
                        ventasEstab = x.Sum(y => y.ventasEstab)
                    }).Count().ToString().PadLeft(3, '0');
                    ats.totalVentasSpecified = true;
                }
                return(ats);
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemple #24
0
        private List <Dinardap_Info> set_dinardap_info(List <DinardapData_Info> lst_archivo, int IdPeriodo = 0)
        {
            int IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa);
            List <Dinardap_Info> ListInfoDinardap = new List <Dinardap_Info>();

            foreach (var item in lst_archivo)
            {
                Dinardap_Info   InfoDinardap = new Dinardap_Info();
                ct_periodo_Info InfoPeriodo  = bus_periodo.get_info(IdEmpresa, IdPeriodo);
                InfoDinardap.FechaDatos = InfoPeriodo.pe_FechaFin.ToString("dd/MM/yyyy");

                switch (item.IdTipoDocumento)
                {
                case "CED": InfoDinardap.TipoIden = "C"; break;

                case "PAS": InfoDinardap.TipoIden = "E"; break;

                case "RUC": InfoDinardap.TipoIden = "R"; break;

                default:
                    InfoDinardap.TipoIden = "C"; break;
                }
                InfoDinardap.Identificacion = item.pe_cedulaRuc.Trim();
                InfoDinardap.Nom_apellido   = item.pe_nombreCompleto.Trim();

                switch (item.pe_Naturaleza)
                {
                case "JURI": InfoDinardap.clase_suje = "J"; InfoDinardap.sexo = ""; InfoDinardap.estado_civil = ""; InfoDinardap.Origen_Ing = ""; break;

                case "NATU":
                    InfoDinardap.clase_suje = "N";
                    InfoDinardap.sexo       = (item.pe_sexo == "SEXO_MAS") ? "M" : "F";
                    InfoDinardap.Origen_Ing = "V";
                    switch (item.IdEstadoCivil)
                    {
                    case "CASAD": InfoDinardap.estado_civil = "C"; break;

                    case "DIVOR": InfoDinardap.estado_civil = "D"; break;

                    case "SOLTE": InfoDinardap.estado_civil = "S"; break;

                    case "UNILI": InfoDinardap.estado_civil = "U"; break;

                    case "VIUD": InfoDinardap.estado_civil = "V"; break;

                    default: InfoDinardap.estado_civil = "S"; break;
                    }
                    break;

                case "OTRO": InfoDinardap.clase_suje = "N"; InfoDinardap.sexo = ""; InfoDinardap.estado_civil = ""; InfoDinardap.Origen_Ing = ""; break;

                case "RISE": InfoDinardap.clase_suje = "N"; InfoDinardap.sexo = ""; InfoDinardap.estado_civil = ""; InfoDinardap.Origen_Ing = ""; break;
                }

                if (InfoDinardap.clase_suje == "N")
                {
                    if (InfoDinardap.TipoIden == "R")
                    {
                        InfoDinardap.TipoIden = "C";
                        var NumDoc = InfoDinardap.Identificacion.Substring(0, 10);
                        InfoDinardap.Identificacion = NumDoc;
                    }
                }

                InfoDinardap.Provincia = item.Cod_Provincia;
                InfoDinardap.canton    = item.Cod_Ciudad;
                InfoDinardap.parroquia = item.cod_parroquia;

                InfoDinardap.num_operacion = item.vt_NumFactura != null ? /*item.vt_serie1 + "-" + item.vt_serie2 + "-" +*/ item.vt_NumFactura : item.CodCbteVta;

                InfoDinardap.valor_ope = Math.Round(Math.Abs(Convert.ToDecimal(item.Valor_Original)), 2, MidpointRounding.AwayFromZero);

                InfoDinardap.saldo_ope = Math.Round(Math.Abs(Convert.ToDecimal(item.Valor_Original)), 2, MidpointRounding.AwayFromZero) - Math.Round(Math.Abs(Convert.ToDecimal(item.Total_Pagado)), 2, MidpointRounding.AwayFromZero);


                InfoDinardap.fecha_conse = item.vt_fecha.ToString("dd/MM/yyyy");
                InfoDinardap.fecha_vct   = Convert.ToDateTime(item.vt_fech_venc).ToString("dd/MM/yyyy");
                InfoDinardap.fecha_exigi = Convert.ToDateTime(item.vt_fech_venc).ToString("dd/MM/yyyy");

                //
                InfoDinardap.Plazo_op          = Convert.ToInt32(((DateTime)item.vt_fech_venc - (DateTime)item.vt_fecha).TotalDays); //item.Plazo;
                InfoDinardap.Periodicidad_pago = Convert.ToDecimal(item.Plazo);

                if (InfoDinardap.Plazo_op <= 0)
                {
                    InfoDinardap.Plazo_op = 1;
                }
                if (InfoDinardap.Plazo_op > 99999)
                {
                    InfoDinardap.Plazo_op = 99999;
                }

                if (InfoDinardap.Periodicidad_pago <= 0)
                {
                    InfoDinardap.Periodicidad_pago = 1;
                }
                if (InfoDinardap.Periodicidad_pago > 99999)
                {
                    InfoDinardap.Periodicidad_pago = 99999;
                }

                InfoDinardap.dias_morosidad  = Math.Abs(Convert.ToDecimal(item.Dias_Vencidos));
                InfoDinardap.monto_morosidad = InfoDinardap.dias_morosidad == 0 ? 0 : Math.Round(Math.Abs(Convert.ToDecimal(item.Valor_Vencido)), 2, MidpointRounding.AwayFromZero);
                InfoDinardap.monto_inte_mora = 0;
                if (item.x_Vencer_1_30_Dias != 0 || item.x_Vencer_31_90_Dias != 0 || item.x_Vencer_91_180_Dias != 0 || item.x_Vencer_181_360_Dias != 0 || item.x_Vencer_Mayor_a_360Dias != 0 ||
                    item.Vencido_1_30_Dias != 0 || item.Vencido_31_90_Dias != 0 || item.Vencido_91_180_Dias != 0 || item.Vencido_181_360_Dias != 0 || item.Vencido_Mayor_a_360Dias != 0)
                {
                    //VALORES POR VENCER SE DEBEN CONSIDERAR EN MORA?
                }

                InfoDinardap.valor_x_vencer_1_30    = Math.Round(Math.Abs(Convert.ToDecimal(item.x_Vencer_1_30_Dias)), 2, MidpointRounding.AwayFromZero);
                InfoDinardap.valor_x_vencer_31_90   = Math.Round(Math.Abs(Convert.ToDecimal(item.x_Vencer_31_90_Dias)), 2, MidpointRounding.AwayFromZero);
                InfoDinardap.valor_x_vencer_91_180  = Math.Round(Math.Abs(Convert.ToDecimal(item.x_Vencer_91_180_Dias)), 2, MidpointRounding.AwayFromZero);
                InfoDinardap.valor_x_vencer_181_360 = Math.Round(Math.Abs(Convert.ToDecimal(item.x_Vencer_181_360_Dias)), 2, MidpointRounding.AwayFromZero);
                InfoDinardap.valor_x_vencer_mas_360 = Math.Round(Math.Abs(Convert.ToDecimal(item.x_Vencer_Mayor_a_360Dias)), 2, MidpointRounding.AwayFromZero);

                InfoDinardap.valor_vencido_1_30    = Math.Round(Math.Abs(Convert.ToDecimal(item.Vencido_1_30_Dias)), 2, MidpointRounding.AwayFromZero);
                InfoDinardap.valor_vencido_31_90   = Math.Round(Math.Abs(Convert.ToDecimal(item.Vencido_31_90_Dias)), 2, MidpointRounding.AwayFromZero);
                InfoDinardap.valor_vencido_91_180  = Math.Round(Math.Abs(Convert.ToDecimal(item.Vencido_91_180_Dias)), 2, MidpointRounding.AwayFromZero);
                InfoDinardap.valor_vencido_181_360 = Math.Round(Math.Abs(Convert.ToDecimal(item.Vencido_181_360_Dias)), 2, MidpointRounding.AwayFromZero);
                InfoDinardap.valor_vencido_mas_360 = Math.Round(Math.Abs(Convert.ToDecimal(item.Vencido_Mayor_a_360Dias)), 2, MidpointRounding.AwayFromZero);
                InfoDinardap.valor_en_demand_judi  = 0;
                InfoDinardap.cartera_castigada     = 0;
                //InfoDinardap.couta_credito = Math.Round(Math.Abs(Convert.ToDecimal(item.Valor_Vencido == 0 ? item.Valor_x_Vencer : item.Valor_Vencido)), 2, MidpointRounding.AwayFromZero);
                InfoDinardap.couta_credito = Math.Round(Convert.ToDecimal(item.Valor_Original ?? 0), 2, MidpointRounding.AwayFromZero);
                //Fecha de cobro
                InfoDinardap.fecha_cancela = ""; //item.cr_fechaCobro == null || item.Total_Pagado == 0 ? "" : Convert.ToDateTime(item.cr_fechaCobro).ToString("dd/MM/yyyy");
                InfoDinardap.forma_cance   = ""; //item.cr_fechaCobro == null ? "" : "E";
                InfoDinardap.CodEntidad    = item.cod_entidad_dinardap;

                ListInfoDinardap.Add(InfoDinardap);
            }

            return(ListInfoDinardap);
        }
Exemple #25
0
        public bool guardarMasivoDB(ct_periodo_Info info_general)
        {
            try
            {
                using (Entities_contabilidad Context = new Entities_contabilidad())
                {
                    foreach (var info in info_general.lst_periodo)
                    {
                        ct_periodo Entity = new ct_periodo
                        {
                            IdPeriodo    = info.IdPeriodo,
                            IdEmpresa    = info.IdEmpresa,
                            IdanioFiscal = info.IdanioFiscal,
                            pe_FechaIni  = info.pe_FechaIni.Date,
                            pe_FechaFin  = info.pe_FechaFin.Date,
                            pe_mes       = info.pe_mes,
                            pe_cerrado   = info.pe_cerrado_bool == true ? "S" : "N",
                            pe_estado    = info.pe_estado = "A"
                        };

                        if (info.pe_cerrado_bool == true)
                        {
                            List <tb_modulo_Info> lst_modulo = data_modulo.get_list();

                            if (lst_modulo.Count() > 0)
                            {
                                foreach (var item in lst_modulo)
                                {
                                    Context.ct_periodo_x_tb_modulo.Add(new ct_periodo_x_tb_modulo
                                    {
                                        IdEmpresa    = info.IdEmpresa,
                                        IdPeriodo    = info.IdPeriodo,
                                        IdModulo     = item.CodModulo,
                                        IdUsuario    = info.IdUsuario,
                                        FechaTransac = DateTime.Now
                                    });
                                }
                            }
                        }
                        else
                        {
                            if (info_general.lst_periodo_x_modulo.Count() > 0)
                            {
                                foreach (var item in info_general.lst_periodo_x_modulo)
                                {
                                    Context.ct_periodo_x_tb_modulo.Add(new ct_periodo_x_tb_modulo
                                    {
                                        IdEmpresa    = info.IdEmpresa,
                                        IdPeriodo    = info.IdPeriodo,
                                        IdModulo     = item.IdModulo,
                                        IdUsuario    = info.IdUsuario,
                                        FechaTransac = DateTime.Now
                                    });
                                }
                            }
                        }

                        Context.ct_periodo.Add(Entity);
                    }

                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemple #26
0
        public bool modificarDB(ct_periodo_Info info)
        {
            try
            {
                using (Entities_contabilidad Context = new Entities_contabilidad())
                {
                    ct_periodo Entity = Context.ct_periodo.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdPeriodo == info.IdPeriodo);
                    if (Entity == null)
                    {
                        return(false);
                    }

                    Entity.pe_FechaFin = info.pe_FechaFin.Date;
                    Entity.pe_FechaIni = info.pe_FechaIni.Date;
                    Entity.pe_cerrado  = info.pe_cerrado_bool == true ? "S" : "N";

                    var lst_det = Context.ct_periodo_x_tb_modulo.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdPeriodo == info.IdPeriodo).ToList();
                    Context.ct_periodo_x_tb_modulo.RemoveRange(lst_det);

                    if (info.pe_cerrado_bool == true)
                    {
                        List <tb_modulo_Info> lst_modulo = data_modulo.get_list();

                        if (lst_modulo.Count() > 0)
                        {
                            foreach (var item in lst_modulo)
                            {
                                Context.ct_periodo_x_tb_modulo.Add(new ct_periodo_x_tb_modulo
                                {
                                    IdEmpresa        = info.IdEmpresa,
                                    IdPeriodo        = info.IdPeriodo,
                                    IdModulo         = item.CodModulo,
                                    IdUsuario        = info.IdUsuario,
                                    FechaTransac     = DateTime.Now,
                                    IdUsuarioUltModi = info.IdUsuario,
                                    FechaUltModi     = DateTime.Now
                                });
                            }
                        }
                    }
                    else
                    {
                        if (info.lst_periodo_x_modulo.Count() > 0)
                        {
                            foreach (var item in info.lst_periodo_x_modulo)
                            {
                                Context.ct_periodo_x_tb_modulo.Add(new ct_periodo_x_tb_modulo
                                {
                                    IdEmpresa        = info.IdEmpresa,
                                    IdPeriodo        = info.IdPeriodo,
                                    IdModulo         = item.IdModulo,
                                    IdUsuario        = info.IdUsuario,
                                    FechaTransac     = DateTime.Now,
                                    IdUsuarioUltModi = item.IdUsuarioUltModi,
                                    FechaUltModi     = DateTime.Now,
                                });
                            }
                        }
                    }

                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }