public JsonResult Crear(string codigo, string cantidad, string conventa) { try { var rol = Session["Loged_usrfile_rol"]; if ("C".Equals(rol) || "M".Equals(rol)) { if (!String.IsNullOrWhiteSpace(codigo)) { string codcia = Session["Loged_usrfile_ciafile"].ToString(); string sucursal = Session["Loged_usrfile_sucursal"].ToString(); conc conc = db.conc.Where(a => a.CODCIA.Equals(codcia) && a.SUCURSAL.Equals(sucursal) && a.CODIGO.Equals(codigo)).FirstOrDefault(); if (conc == null) { return(Json(new { respuesta = Msg.AttrNoExiste(Msg.CODCONSUMO) }, JsonRequestBehavior.AllowGet)); } if (conc.FACTURANDO.Equals("N")) { string coditem = GenCod.CodItem(db, codcia, conc.CODIGO); cond cond = new cond(); cond.ITEM = coditem; cond.CODCIA = codcia; cond.CODIGO = codigo; cond.CONVENTA = conventa; cond.CANTIDAD = Convert.ToDecimal(cantidad); preconven preconven = db.preconven.Where(a => a.conventa.Equals(cond.CONVENTA) && a.codcia.Equals(codcia) && a.sucursal.Equals(sucursal) && a.state.Equals("V")).FirstOrDefault(); if (preconven == null) { return(Json(new { respuesta = "ERROR: No existe un precio asignado" }, JsonRequestBehavior.AllowGet)); } cond.PREUNI = preconven.precio; cond.TOTAL = cond.PREUNI * cond.CANTIDAD; db.cond.Add(cond); db.SaveChanges(); return(Json(new { respuesta = Msg.OpExitosa, item = cond.ITEM }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { respuesta = Msg.ADCPF }, JsonRequestBehavior.AllowGet)); } } else { return(Json(new { respuesta = Msg.AttrNoNuloVacio(Msg.CODUND) }, JsonRequestBehavior.AllowGet)); } } else { return(Json(new { respuesta = Msg.PermisoDenegado }, JsonRequestBehavior.AllowGet)); } } catch (System.Data.EntityException ex) { return(Json(new { respuesta = "ERROR: " + ex }, JsonRequestBehavior.AllowGet)); } catch (Exception e) { return(Json(new { respuesta = "ERROR: " + e }, JsonRequestBehavior.AllowGet)); } }
public JsonResult Eliminar(string codigo, string item) { try { var rol = Session["Loged_usrfile_rol"]; if ("C".Equals(rol) || "M".Equals(rol)) { if (!String.IsNullOrWhiteSpace(codigo)) { string codcia = Session["Loged_usrfile_ciafile"].ToString(); string sucursal = Session["Loged_usrfile_sucursal"].ToString(); conc conc = db.conc.Where(a => a.CODCIA.Equals(codcia) && a.SUCURSAL.Equals(sucursal) && a.CODIGO.Equals(codigo)).FirstOrDefault(); if (conc == null) { return(Json(new { respuesta = Msg.AttrNoExiste(Msg.CODCONSUMO) }, JsonRequestBehavior.AllowGet)); } if (conc.FACTURANDO.Equals("N")) { item = item.PadLeft(4, '0'); cond cond = db.cond.Where(a => a.CODCIA.Equals(codcia) && a.CODIGO.Equals(conc.CODIGO) && a.ITEM.Equals(item)).FirstOrDefault(); if (cond != null) { db.cond.Remove(cond); db.SaveChanges(); return(Json(new { respuesta = Msg.OpExitosa }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { respuesta = Msg.AttrNoExiste("El item") }, JsonRequestBehavior.AllowGet)); } } else { return(Json(new { respuesta = Msg.ADCPF }, JsonRequestBehavior.AllowGet)); } } else { return(Json(new { respuesta = Msg.AttrNoNuloVacio(Msg.CODCONSUMO) }, JsonRequestBehavior.AllowGet)); } } else { return(Json(new { respuesta = Msg.PermisoDenegado }, JsonRequestBehavior.AllowGet)); } } catch (System.Data.EntityException ex) { return(Json(new { respuesta = "ERROR: " + ex }, JsonRequestBehavior.AllowGet)); } catch (Exception e) { return(Json(new { respuesta = "ERROR: " + e }, JsonRequestBehavior.AllowGet)); } }
public JsonResult Actualizar(string codigo, string item, string cantidad) { try { var rol = Session["Loged_usrfile_rol"]; if ("C".Equals(rol) || "M".Equals(rol)) { if (!String.IsNullOrWhiteSpace(codigo)) { string codcia = Session["Loged_usrfile_ciafile"].ToString(); string sucursal = Session["Loged_usrfile_sucursal"].ToString(); conc conc = db.conc.Where(a => a.CODCIA.Equals(codcia) && a.SUCURSAL.Equals(sucursal) && a.CODIGO.Equals(codigo)).FirstOrDefault(); if (conc == null) { return(Json(new { respuesta = Msg.AttrNoExiste(Msg.CODCONSUMO) }, JsonRequestBehavior.AllowGet)); } if (conc.FACTURANDO.Equals("N")) { cond cond = db.cond.Where(a => a.CODCIA.Equals(codcia) && a.CODIGO.Equals(codigo) && a.ITEM.Equals(item)).FirstOrDefault(); cond.CANTIDAD = Convert.ToDecimal(cantidad); cond.TOTAL = cond.PREUNI * cond.CANTIDAD; db.SaveChanges(); return(Json(new { respuesta = Msg.OpExitosa }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { respuesta = Msg.ADCPF }, JsonRequestBehavior.AllowGet)); } } else { return(Json(new { respuesta = Msg.AttrNoNuloVacio(Msg.CODCONSUMO) }, JsonRequestBehavior.AllowGet)); } } else { return(Json(new { respuesta = Msg.OpExitosa }, JsonRequestBehavior.AllowGet)); } } catch (System.Data.EntityException ex) { return(Json(new { respuesta = "ERROR: " + ex }, JsonRequestBehavior.AllowGet)); } catch (Exception e) { return(Json(new { respuesta = "ERROR: " + e }, JsonRequestBehavior.AllowGet)); } }
public JsonResult Anular(string codigo) { try { string codcia = Session["Loged_usrfile_ciafile"].ToString(); string sucursal = Session["Loged_usrfile_sucursal"].ToString(); var rol = Session["Loged_usrfile_rol"]; if (!"C".Equals(rol)) { return(Json(new { respuesta = Msg.PermisoDenegado }, JsonRequestBehavior.AllowGet)); } if (!String.IsNullOrWhiteSpace(codigo)) { codigo = codigo.Trim(); conc conc = db.conc.Where(a => a.CODCIA.Equals(codcia) && a.SUCURSAL.Equals(sucursal) && a.CODIGO.Equals(codigo)).FirstOrDefault(); if (conc != null) { List <cond> lista = db.cond.Where(a => a.CODCIA.Equals(codcia) && a.CODIGO.Equals(conc.CODIGO)).ToList(); foreach (var cond in lista) { db.cond.Remove(cond); } db.conc.Remove(conc); db.SaveChanges(); return(Json(new { respuesta = Msg.OpExitosa }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { respuesta = Msg.AttrNoExiste(Msg.CODCONSUMO) }, JsonRequestBehavior.AllowGet)); } } else { return(Json(new { respuesta = Msg.AttrNoNuloVacio(Msg.CODCONSUMO) }, 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)); } }
public JsonResult Guardar(string codigo, string items) { try { var rol = Session["Loged_usrfile_rol"]; if ("C".Equals(rol) || "M".Equals(rol)) { if (!String.IsNullOrWhiteSpace(codigo)) { if (!String.IsNullOrWhiteSpace(items)) { string codcia = Session["Loged_usrfile_ciafile"].ToString(); string sucursal = Session["Loged_usrfile_sucursal"].ToString(); List <cond> listaItems; try { listaItems = JsonConvert.DeserializeObject <List <cond> >(items); } catch (JsonException ex) { return(Json(new { respuesta = "ERROR: El detalle de consumo no tinene un formato json v\u00E1lido\nDetalle de error:" + ex.Message }, JsonRequestBehavior.AllowGet)); } codigo = codigo.Trim(); conc conc = db.conc.Where(a => a.CODCIA.Equals(codcia) && a.SUCURSAL.Equals(sucursal) && a.CODIGO.Equals(codigo)).FirstOrDefault(); if (conc == null) { return(Json(new { respuesta = Msg.AttrNoExiste(Msg.CODCONSUMO) }, JsonRequestBehavior.AllowGet)); } else { var lista = db.cond.Where(a => a.CODCIA.Equals(codcia) && a.CODIGO.Equals(conc.CODIGO)).ToList(); foreach (var cond in lista) { db.cond.Remove(cond); } foreach (var item in listaItems) { if (item != null) { item.ITEM = item.ITEM.PadLeft(4, '0'); item.CODCIA = codcia; item.CODIGO = codigo; preconven preconven = db.preconven.Where(a => a.conventa.Equals(item.CONVENTA) && a.codcia.Equals(codcia) && a.sucursal.Equals(sucursal) && a.state.Equals("V")).FirstOrDefault(); if (preconven == null) { return(Json(new { respuesta = "ERROR: No existe un precio asignado" }, JsonRequestBehavior.AllowGet)); } item.PREUNI = preconven.precio; item.TOTAL = item.PREUNI * item.CANTIDAD; db.cond.Add(item); } else { return(Json(new { respuesta = "ERROR: Detalle de consumo nulo, operaci\u00F3n cancelada" }, JsonRequestBehavior.AllowGet)); } } db.SaveChanges(); return(Json(new { respuesta = Msg.OpExitosa }, JsonRequestBehavior.AllowGet)); } } else { return(Json(new { respuesta = Msg.AttrNoNuloVacio("El detalle del consumo") }, JsonRequestBehavior.AllowGet)); } } else { return(Json(new { respuesta = Msg.AttrNoNuloVacio(Msg.CODCONSUMO) }, JsonRequestBehavior.AllowGet)); } } else { return(Json(new { respuesta = Msg.PermisoDenegado }, JsonRequestBehavior.AllowGet)); } } catch (System.Data.EntityException ex) { return(Json(new { respuesta = "ERROR: " + ex }, JsonRequestBehavior.AllowGet)); } catch (Exception e) { return(Json(new { respuesta = "ERROR: " + e }, JsonRequestBehavior.AllowGet)); } }
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)); } }