예제 #1
0
        public JsonResult Obtener(string nrodoc)
        {
            try
            {
                var rol = Session["Loged_usrfile_rol"];
                if (!"C".Equals(rol))
                {
                    return(Json(new { respuesta = Msg.PermisoDenegado }, JsonRequestBehavior.AllowGet));
                }

                string rpta;
                if (!String.IsNullOrWhiteSpace(nrodoc))
                {
                    nrodoc = nrodoc.Trim();
                    string codcia = Session["Loged_usrfile_ciafile"].ToString();
                    anexos anexo  = db.anexos.Where(a => a.idcia.Equals(codcia) && a.tipane.Equals("C") && a.codane.Equals(nrodoc) && a.situane.Equals("V")).FirstOrDefault();
                    if (anexo != null)
                    {
                        return(Json(new { respuesta = Msg.OpExitosa, anexo = anexo }, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        rpta = "ADVERTENCIA: El Anexo no est\u00E1 registrado o se encuentra deshabilitado";
                    }
                }
                else
                {
                    rpta = Msg.AttrNoNuloVacio(Msg.NUMDOC);
                }
                return(Json(new { respuesta = rpta }, JsonRequestBehavior.AllowGet));
            }
            catch (System.Data.EntityException ex) { return(Json(new { respuesta = "ERROR: " + ex.Message }, JsonRequestBehavior.AllowGet)); }
            catch (Exception e) { return(Json(new { respuesta = "ERROR: " + e.Message }, JsonRequestBehavior.AllowGet)); }
        }
예제 #2
0
 public static anexos crearObtener(string codcia, string nrodoc, string desane, string refane)
 {
     try
     {
         appbosaEntities db = new appbosaEntities();
         if (String.IsNullOrWhiteSpace(desane) || String.IsNullOrWhiteSpace(desane) || String.IsNullOrWhiteSpace(desane) || String.IsNullOrWhiteSpace(desane))
         {
             return(null);
         }
         anexos anexo = db.anexos.Where(a => a.idcia.Equals(codcia) && a.tipane.Equals("C") && a.codane.Equals(nrodoc)).FirstOrDefault();
         if (anexo == null)
         {
             anexo         = new anexos();
             anexo.idcia   = codcia;
             anexo.tipane  = "C";
             anexo.desane  = desane.Trim().ToUpper();
             anexo.refane  = refane.Trim().ToUpper();
             anexo.nrodoc  = nrodoc;
             anexo.situane = "V";
             if (nrodoc.Trim().Length == 11)
             {
                 anexo.tipdoc = "06";
                 anexo.codane = nrodoc.Trim();
                 anexo.rucane = nrodoc;
                 db.anexos.Add(anexo);
                 db.SaveChanges();
                 return(anexo);
             }
             else if (nrodoc.Trim().Length == 8)
             {
                 anexo.tipdoc = "01";
                 anexo.codane = nrodoc.Trim();
                 db.anexos.Add(anexo);
                 db.SaveChanges();
                 return(anexo);
             }
             else
             {
                 return(null);
             }
         }
         else
         {
             return(anexo);
         }
     }catch (Exception ex) { return(null); }
 }
예제 #3
0
        public JsonResult Actualizar(string a)
        {
            try
            {
                var rol = Session["Loged_usrfile_rol"];
                if (!"C".Equals(rol))
                {
                    return(Json(new { respuesta = Msg.PermisoDenegado }, JsonRequestBehavior.AllowGet));
                }
                anexos anexo = JsonConvert.DeserializeObject <anexos>(a);
                string rpta;
                if (!String.IsNullOrWhiteSpace(anexo.nrodoc))
                {
                    anexo.nrodoc = anexo.nrodoc.Trim();
                    string codcia = Session["Loged_usrfile_ciafile"].ToString();
                    anexos aux    = db.anexos.Where(b => b.idcia.Equals(codcia) && b.tipane.Equals("C") && b.codane.Equals(anexo.nrodoc)).FirstOrDefault();
                    if (aux != null)
                    {
                        if (aux.situane.Equals("V"))
                        {
                            aux.refane = anexo.refane != null?anexo.refane.ToUpper() : "";

                            aux.tipdoc = anexo.tipdoc != null?anexo.tipdoc.ToUpper() : "";

                            aux.nrodoc = anexo.nrodoc != null?anexo.nrodoc.ToUpper() : "";

                            aux.rucane  = anexo.tipdoc.Equals("06") ? anexo.nrodoc : "";
                            aux.nombre1 = anexo.nombre1 != null?anexo.nombre1.ToUpper() : "";

                            aux.nombre2 = anexo.nombre2 != null?anexo.nombre2.ToUpper() : "";

                            aux.apepat = anexo.apepat != null?anexo.apepat.ToUpper() : "";

                            aux.apemat = anexo.apemat != null?anexo.apemat.ToUpper() : "";

                            if (String.IsNullOrWhiteSpace(anexo.desane))
                            {
                                string[] s = { aux.nombre1, aux.nombre2, aux.apepat, aux.apemat };
                                aux.desane = anexo.desane != null?anexo.desane.ToUpper() : String.Join(" ", s);
                            }
                            aux.fmod = DateTime.Now.ToString("dd/MM/yyyy");
                            db.SaveChanges();
                            return(Json(new { respuesta = Msg.OpExitosa, anexo = new { aux.nrodoc, aux.desane, aux.refane } }, JsonRequestBehavior.AllowGet));
                        }
                        else
                        {
                            rpta = "ERROR: No se puede actualizar porque el registro esta deshabilitado";
                        }
                    }
                    else
                    {
                        rpta = "ADVERTENCIA: Anexo no registrado";
                    }
                }
                else
                {
                    rpta = Msg.AttrNoNuloVacio(Msg.NUMDOC);
                }
                return(Json(new { respuesta = rpta }, JsonRequestBehavior.AllowGet));
            }
            catch (System.Data.EntityException ex) { return(Json(new { respuesta = "ERROR: " + ex.Message }, JsonRequestBehavior.AllowGet)); }
            catch (Exception e) { return(Json(new { respuesta = "ERROR: " + e.Message }, JsonRequestBehavior.AllowGet)); }
        }
예제 #4
0
        public JsonResult Crear(string a)
        {
            try
            {
                var rol = Session["Loged_usrfile_rol"];
                if (!"C".Equals(rol))
                {
                    return(Json(new { respuesta = Msg.PermisoDenegado }, JsonRequestBehavior.AllowGet));
                }
                anexos anexo  = JsonConvert.DeserializeObject <anexos>(a);
                string rpta   = "ERROR: ";
                bool   estado = true;
                if (String.IsNullOrWhiteSpace(anexo.tipdoc))
                {
                    estado = false; rpta += Msg.AttrNoNuloVacio("Tipo de documento") + "\n";
                }
                if (String.IsNullOrWhiteSpace(anexo.nrodoc))
                {
                    estado = false; rpta += Msg.AttrNoNuloVacio(Msg.NUMDOC) + "\n";
                }
                if (estado)
                {
                    string codcia = Session["Loged_usrfile_ciafile"].ToString();
                    string idusr  = Session["Loged_usrfile_idusr"].ToString();
                    anexos aux    = db.anexos.Where(b => b.idcia.Equals(codcia) && b.tipane.Equals("C") && b.codane.Equals(anexo.nrodoc)).FirstOrDefault();
                    if (aux == null)
                    {
                        anexo.idcia  = codcia;
                        anexo.codane = anexo.nrodoc;
                        anexo.tipane = "C";
                        anexo.refane = anexo.refane != null?anexo.refane.ToUpper() : "";

                        anexo.tipdoc = anexo.tipdoc != null?anexo.tipdoc.ToUpper() : "";

                        anexo.nrodoc = anexo.nrodoc != null?anexo.nrodoc.ToUpper() : "";

                        anexo.rucane  = anexo.tipdoc.Equals("06")? anexo.nrodoc : "";
                        anexo.nombre1 = anexo.nombre1 != null?anexo.nombre1.ToUpper() : "";

                        anexo.nombre2 = anexo.nombre2 != null?anexo.nombre2.ToUpper() : "";

                        anexo.apepat = anexo.apepat != null?anexo.apepat.ToUpper() : "";

                        anexo.apemat = anexo.apemat != null?anexo.apemat.ToUpper() : "";

                        if (String.IsNullOrWhiteSpace(anexo.desane))
                        {
                            string[] s = { anexo.nombre1, anexo.nombre2, anexo.apepat, anexo.apemat };
                            anexo.desane = anexo.desane != null?anexo.desane.ToUpper() : String.Join(" ", s);
                        }
                        anexo.tipper = "";
                        if (!String.IsNullOrWhiteSpace(anexo.rucane))
                        {
                            switch (anexo.rucane.ToCharArray()[0])
                            {
                            case '1':
                                anexo.tipper = "01";
                                break;

                            case '2':
                                anexo.tipper = "02";
                                break;

                            default:

                                break;
                            }
                        }
                        anexo.situane = "V";
                        anexo.usuario = idusr;
                        anexo.fcrea   = DateTime.Now.ToString("dd/MM/yyyy");
                        anexo.fmod    = anexo.fcrea;
                        db.anexos.Add(anexo);
                        db.SaveChanges();
                        anexo = db.anexos.Where(b => b.idcia.Equals(codcia) && b.tipane.Equals("C") && b.codane.Equals(anexo.nrodoc) &&
                                                b.situane.Equals("V")).FirstOrDefault();
                        return(Json(new { respuesta = Msg.OpExitosa, anexo = anexo }, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        return(Json(new { respuesta = "ADVERTENCIA: El anexo ya existe", anexo = new { anexo.nrodoc, anexo.desane, anexo.refane } }, JsonRequestBehavior.AllowGet));
                    }
                }
                return(Json(new { respuesta = rpta }, JsonRequestBehavior.AllowGet));
            }catch (System.Data.EntityException ex) { return(Json(new { respuesta = "ERROR: " + ex.Message }, JsonRequestBehavior.AllowGet)); }
            catch (Exception e) { return(Json(new { respuesta = "ERROR: " + e.Message }, JsonRequestBehavior.AllowGet)); }
        }
예제 #5
0
        public ActionResult Consulta(string tipdoc, string serie, string correlativo, string fecha, string importe)
        {
            try
            {
                appbosaEntities db = new appbosaEntities();
                DateTime        cdate;
                List <string>   tdtipdoc = db.tdtipdoc.ToList().Select(b => b.TIPDOC).ToList();
                var             cm       = db.maesgen.Where(a => a.idmaesgen.Equals("002") && tdtipdoc.Contains(a.clavemaesgen)).ToList();
                ViewBag.tipdocs = cm.ToList();
                ViewBag.td      = tipdoc;
                if (DateTime.TryParse(fecha, out cdate))
                {
                    venc vc = db.venc.Where(a => a.SERIE.Equals(serie) && a.NRODOC.Equals(correlativo)
                                            ).FirstOrDefault();
                    if (vc != null && vc.CDATE.Equals(cdate))
                    {
                        decimal impIn;
                        if (Decimal.TryParse(importe.Replace(',', '.'), out impIn))
                        {
                            decimal impDB = db.vend.Where(a => a.CODCIA.Equals(vc.CODCIA) && a.CODIGO.Equals(vc.CODIGO)).Sum(a => a.TOTAL);
                            if (impIn == impDB)
                            {
                                List <vend> vds   = db.vend.Where(a => a.CODCIA.Equals(vc.CODCIA) && a.CODIGO.Equals(vc.CODIGO)).ToList();
                                ciafile     cia   = db.ciafile.Where(a => a.idcia.Equals(vc.CODCIA)).FirstOrDefault();
                                sucursal    suc   = db.sucursal.Where(a => a.codcia.Equals(cia.idcia) && a.codigo.Equals(vc.SUCURSAL)).FirstOrDefault();
                                anexos      anexo = db.anexos.Where(a => a.idcia.Equals(cia.idcia) && a.tipane.Equals(vc.TIPANE) && a.codane.Equals(vc.CODANE)).FirstOrDefault();
                                if (anexo.tipdoc.Equals(tipdoc))
                                {
                                    maesgen emision  = db.maesgen.Where(a => a.idmaesgen.Equals("110") && a.clavemaesgen.Equals(vc.TIPDOC)).FirstOrDefault();
                                    maesgen mgtd     = db.maesgen.Where(a => a.idmaesgen.Equals("002") && a.clavemaesgen.Equals(anexo.tipdoc)).FirstOrDefault();
                                    maesgen mgmoneda = db.maesgen.Where(a => a.idmaesgen.Equals("015") && a.clavemaesgen.Equals(vc.CODMON)).FirstOrDefault();
                                    var     u        = (from a in db.venpag
                                                        join b in db.forventa on a.FORVENTA equals b.codigo
                                                        from c in db.forpago.Where(d => d.codigo.Equals(a.FORPAGO)).DefaultIfEmpty()
                                                        from d in db.tarjetas.Where(t => t.codigo.Equals(a.TARJETA)).DefaultIfEmpty()
                                                        where a.CODCIA.Equals(vc.CODCIA) && a.CODIGO.Equals(vc.CODIGO)
                                                        select new
                                    {
                                        codigo = a.CODIGO,
                                        importe = a.IMPORTE,
                                        recibido = a.RECIBIDO,
                                        vuelto = a.VUELTO,
                                        forventa = b.descripcion,
                                        forpago = c.descripcion,
                                        tarjeta = d.descripcion
                                    }
                                                        ).ToList();
                                    decimal total = 0, sumagra = 0, sumaina = 0, sumaexo = 0, sumaigv = 0;
                                    foreach (vend item in vds)
                                    {
                                        sumaigv += item.IGV;
                                        total   += item.TOTAL;
                                        switch (item.TIPOVALORVENTA)
                                        {
                                        case "01":
                                            item.GRAVADO = item.NETO;
                                            sumagra     += (decimal)item.GRAVADO;
                                            break;

                                        case "02":
                                            item.EXONERADO = item.NETO;
                                            sumaexo       += (decimal)item.EXONERADO;
                                            break;

                                        case "03":
                                            item.INAFECTO = item.NETO;
                                            sumaina      += (decimal)item.INAFECTO;
                                            break;
                                        }
                                    }
                                    parreg prigv = db.parreg.Where(a => a.IDCIA.Equals(cia.idcia) && a.FORM.Equals("COM")).FirstOrDefault();


                                    AppAccounting.NumLetras nl = new AppAccounting.NumLetras();

                                    ViewBag.cia          = cia;
                                    ViewBag.suc          = suc;
                                    ViewBag.fecha        = cdate.ToString("dd/MM/yyyy");
                                    ViewBag.venc         = vc;
                                    ViewBag.vends        = vds;
                                    ViewBag.anexo        = anexo;
                                    ViewBag.tipdoc       = mgtd.parm1maesgen;
                                    ViewBag.tipdocdesc   = mgtd.desmaesgen;
                                    ViewBag.docemi       = emision.parm6maesgen;
                                    ViewBag.moneda       = mgmoneda.parm1maesgen;
                                    ViewBag.gravado      = sumagra;
                                    ViewBag.exonerado    = sumaexo;
                                    ViewBag.inafecto     = sumaina;
                                    ViewBag.igv          = sumaigv;
                                    ViewBag.com_tasa_igv = prigv.COM_TASA_IGV;
                                    ViewBag.total        = total;
                                    ViewBag.totalstr     = nl.Numero_to_Letras(mgmoneda.clavemaesgen, total);
                                    ViewBag.resumen      = u;
                                    ViewBag.serie        = vc.SERIE;
                                    ViewBag.correlativo  = vc.NRODOC;
                                    ViewBag.abrevia      = mgmoneda.abrevia;
                                    return(View("Documento"));
                                }
                            }
                        }
                        else
                        {
                            ViewBag.msg_error = "El monto total debe ser un n\u00FAmero v\u00E1lido";
                            return(View("Consulta"));
                        }
                    }
                    ViewBag.msg_error = "Los datos ingresados no coinciden con ninguno de nuestros registros";
                    return(View("Consulta"));
                }
                else
                {
                    ViewBag.msg_error = "Formato de fecha incorrecto";
                    return(View("Consulta"));
                }
            }
            catch (Exception ex) { return(RedirectToAction("Error", "Error", ex.Message)); }
        }
예제 #6
0
        public JsonResult Facturar(string codconc, string nroane, string desane, string refane, string tipdoc, string vp)
        {
            try
            {
                var rol = Session["Loged_usrfile_rol"];
                if (!"C".Equals(rol))
                {
                    return(Json(new { respuesta = Msg.PermisoDenegado }, JsonRequestBehavior.AllowGet));
                }

                string codcia   = Session["Loged_usrfile_ciafile"].ToString();
                string sucursal = Session["Loged_usrfile_sucursal"].ToString();
                string punemi   = Session["Loged_usrfile_punemi"].ToString();
                string idusr    = Session["Loged_usrfile_idusr"].ToString();
                string desusr   = Session["Loged_usrfile_desusr"].ToString();

                anexos anexo = AnexosController.crearObtener(codcia, nroane, desane, refane);
                if (anexo == null)
                {
                    return(Json(new { respuesta = "ERROR: Error al obtener o crear el anexo, asegurese que los datos del cliente esten correctamente ingresados" }, JsonRequestBehavior.AllowGet));
                }
                parreg parreg = db.parreg.Where(a => a.IDCIA.Equals(codcia) && a.FORM.Equals("POS")).FirstOrDefault();
                if (parreg == null)
                {
                    return(Json(new { respuesta = Msg.ErrParam }, JsonRequestBehavior.AllowGet));
                }
                parreg prigv = db.parreg.Where(a => a.IDCIA.Equals(codcia) && a.FORM.Equals("COM")).FirstOrDefault();
                if (prigv == null)
                {
                    return(Json(new { respuesta = Msg.ErrParam }, JsonRequestBehavior.AllowGet));
                }

                string numdoc = GenCod.NumDoc(db, codcia, punemi, tipdoc);
                if (String.IsNullOrWhiteSpace(numdoc))
                {
                    return(Json(new { respuesta = Msg.ErrGenerar(Msg.NUMDOC) }, JsonRequestBehavior.AllowGet));
                }
                string codvenc = GenCod.CodVenc(db, codcia, punemi);
                if (codvenc == null)
                {
                    return(Json(new { respuesta = Msg.ErrGenerar(Msg.CODIGO + " de la venta") }, JsonRequestBehavior.AllowGet));
                }

                List <venpag> lista = JsonConvert.DeserializeObject <List <venpag> >(vp);
                int           index = 1;
                foreach (venpag item in lista)
                {
                    item.CODCIA   = codcia;
                    item.CODIGO   = codvenc;
                    item.ITEM     = index.ToString().PadLeft(3, '0');
                    item.RECIBIDO = item.VUELTO + item.IMPORTE;
                    if (String.IsNullOrWhiteSpace(item.FORPAGO))
                    {
                        item.TARJETA = null;
                    }
                    if (String.IsNullOrWhiteSpace(item.TARJETA))
                    {
                        item.TARJETA = null;
                    }
                    if (String.IsNullOrWhiteSpace(item.REFERENCIA))
                    {
                        item.TARJETA = null;
                    }
                    db.venpag.Add(item);
                    index++;
                }

                conc conc = db.conc.Where(a => a.CODCIA.Equals(codcia) && a.SUCURSAL.Equals(sucursal) && a.CODIGO.Equals(codconc)).FirstOrDefault();
                if (conc == null)
                {
                    return(Json(new { respuesta = Msg.AttrNoExiste(Msg.CODCONSUMO) }, JsonRequestBehavior.AllowGet));
                }
                venc venc = new venc();
                venc.CODCIA          = codcia;
                venc.CODIGO          = codvenc;
                venc.SUCURSAL        = sucursal;
                venc.PUNEMI          = punemi;
                venc.PROC_VENTA      = "VD";
                venc.TIPO            = "B";
                venc.PRG             = "V0105";
                venc.PERIODO         = DateTime.Now.Year.ToString();
                venc.FECMOV          = Convert.ToDateTime(DateTime.Now.ToString("dd/MM/yyyy"));
                venc.MES             = DateTime.Now.ToString("MM");
                venc.TIPANE          = "C";
                venc.CODANE          = anexo.codane;
                venc.DIRECCION       = refane;
                venc.TIPDOC          = tipdoc;
                venc.NUMDOC          = numdoc;
                venc.FECDOC          = DateTime.Now.ToString("dd/MM/yyyy");
                venc.FECVEN          = DateTime.Now.ToString("dd/MM/yyyy");
                venc.CTIPCAM         = 0;
                venc.CDATE           = Convert.ToDateTime(DateTime.Now.ToString("dd/MM/yyyy"));
                venc.CHORA           = DateTime.Now.ToString("hh:mm:ss");
                venc.CUSER           = idusr;
                venc.CSIT            = "RF";
                venc.IS_GR_REMITENTE = "N";
                venc.CODMON          = parreg.POS_MON_REFERENCIA;
                venc.SERIE           = numdoc.ToString().Split('-')[0];
                venc.NRODOC          = numdoc.ToString().Split('-')[1];
                venc.CONSUMO         = conc.CODIGO;
                if (conc.SITUACION.Equals("A"))
                {
                    conc.SITUACION = "C";
                    List <cond> items = db.cond.Where(a => a.CODCIA.Equals(codcia) && a.CODIGO.Equals(conc.CODIGO)).ToList();
                    index = 1;
                    decimal total = 0, sumagra = 0, sumaexo = 0, sumaina = 0, sumaigv = 0;
                    foreach (cond item in items)
                    {
                        vend vend = new vend();
                        vend.CODCIA    = codcia;
                        vend.CODIGO    = venc.CODIGO;
                        vend.ITEM      = index.ToString().PadLeft(3, '0');
                        vend.IS_LOTE   = "N";
                        vend.PREUNI    = (decimal)item.PREUNI;
                        vend.CANTIDAD  = (decimal)item.CANTIDAD;
                        vend.SUBTOTAL  = (decimal)item.TOTAL;
                        vend.PORCDESC  = 0;
                        vend.DESCUENTO = 0;
                        vend.TOTAL     = vend.SUBTOTAL;
                        vend.IGV       = (decimal)(vend.TOTAL * prigv.COM_TASA_IGV / (100 + prigv.COM_TASA_IGV));
                        vend.CONVENTA  = item.CONVENTA;
                        conventa conventa = db.conventa.Where(a => a.codcia.Equals(codcia) && a.codigo.Equals(item.CONVENTA) && a.situa.Equals("V")).FirstOrDefault();
                        vend.CODARTI        = conventa.codigo;
                        vend.DESARTI        = conventa.descripcion;
                        vend.TIPOVALORVENTA = conventa.tipovalorventa;
                        vend.NETO           = vend.TOTAL - vend.IGV;
                        sumaigv            += vend.IGV;
                        total += vend.TOTAL;
                        switch (vend.TIPOVALORVENTA)
                        {
                        case "01":
                            vend.GRAVADO = vend.NETO;
                            sumagra     += (decimal)vend.GRAVADO;
                            break;

                        case "02":
                            vend.EXONERADO = vend.NETO;
                            sumaexo       += (decimal)vend.EXONERADO;
                            break;

                        case "03":
                            vend.INAFECTO = vend.NETO;
                            sumaina      += (decimal)vend.INAFECTO;
                            break;

                        default:
                            break;
                        }
                        db.vend.Add(vend); index++;
                    }
                    db.venc.Add(venc);
                    db.SaveChanges();
                    ciafile  ciafile = db.ciafile.Where(a => a.idcia.Equals(codcia)).FirstOrDefault();
                    sucursal suc     = db.sucursal.Where(a => a.codcia.Equals(codcia) && a.codigo.Equals(sucursal)).FirstOrDefault();
                    var      u       = (from a in db.venpag join b in db.forventa on a.FORVENTA equals b.codigo
                                        from c in db.forpago.Where(d => d.codigo.Equals(a.FORPAGO)).DefaultIfEmpty()
                                        from d in db.tarjetas.Where(t => t.codigo.Equals(a.TARJETA)).DefaultIfEmpty()
                                        where a.CODCIA.Equals(codcia) && a.CODIGO.Equals(codvenc)
                                        select new{ codigo = a.CODIGO, importe = a.IMPORTE, recibido = a.RECIBIDO,
                                                    vuelto = a.VUELTO, forventa = b.descripcion, forpago = c.descripcion, tarjeta = d.descripcion }
                                        ).ToList();
                    peratencion per      = db.peratencion.Where(a => a.codcia.Equals(codcia) && a.codigo.Equals(conc.PERATENCION)).FirstOrDefault();
                    maesgen     mgmoneda = db.maesgen.Where(a => a.idmaesgen.Equals("015") && a.clavemaesgen.Equals(venc.CODMON)).FirstOrDefault();
                    maesgen     emision  = db.maesgen.Where(a => a.idmaesgen.Equals("110") && a.clavemaesgen.Equals(tipdoc)).FirstOrDefault();
                    maesgen     mgtd     = db.maesgen.Where(a => a.idmaesgen.Equals("002") && a.clavemaesgen.Equals(anexo.tipdoc)).FirstOrDefault();
                    NumLetras   nl       = new NumLetras();

                    return(Json(new
                    {
                        respuesta = Msg.OpExitosa,
                        cia = ciafile,
                        suc = suc,
                        fecha = venc.FECDOC,
                        hora = DateTime.Now.ToString("hh:mm tt"),
                        venc = venc,
                        anexo = anexo,
                        tipdoc = mgtd.parm1maesgen,
                        docemi = emision.parm6maesgen,
                        moneda = mgmoneda.parm1maesgen,
                        gravado = sumagra,
                        exonerado = sumaexo,
                        inafecto = sumaina,
                        igv = sumaigv,
                        total = total,
                        totalstr = nl.Numero_to_Letras(mgmoneda.clavemaesgen, total),
                        resumen = u,
                        cajero = desusr,
                        cod1 = venc.SERIE,
                        cod2 = venc.NRODOC,
                        abrevia = mgmoneda.abrevia,
                    }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new { respuesta = "ERROR: Error el consumo est\u00E1 cerrado" }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (System.Data.EntityException ex) { return(Json(new { respuesta = "ERROR: " + ex.Message }, JsonRequestBehavior.AllowGet)); }
            catch (Exception ex) { return(Json(new { respuesta = "ERROR: " + ex.Message }, JsonRequestBehavior.AllowGet)); }
        }