public ActionResult Ver(int?id, int?menu) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } encab_documento encabezado = context.encab_documento.Find(id); if (encabezado == null) { return(HttpNotFound()); } EntradaSalidaModel modelo = new EntradaSalidaModel { TipoDocumento = encabezado.tipo, BodegaOrigen = encabezado.bodega, PerfilContable = encabezado.perfilcontable ?? 0, encabezado_id = encabezado.idencabezado, Notas = encabezado.notas }; ViewBag.documentoSeleccionado = encabezado.tipo; ViewBag.bodegaSeleccionada = encabezado.bodega; ViewBag.perfilSeleccionado = encabezado.perfilcontable; icb_sysparameter buscarTipoDoc = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P44"); int id_tipo_doc = buscarTipoDoc != null?Convert.ToInt32(buscarTipoDoc.syspar_value) : 0; ViewBag.tp_doc_registros = context.tp_doc_registros.Where(x => x.tipo == id_tipo_doc).ToList(); BuscarFavoritos(menu); return(View(modelo)); }
public ActionResult Edit(int id, int?menu) { listas(); encab_documento encabezado = context.encab_documento.Find(id); ViewBag.movimientos = context.mov_contable.Where(x => x.id_encab == encabezado.idencabezado).ToList(); BuscarFavoritos(menu); return(View(encabezado)); }
// GET: /Edit/5 public ActionResult Edit(int?id, int?menu) { listas(); if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } encab_documento encabezado = context.encab_documento.Find(id); if (encabezado == null) { return(HttpNotFound()); } var prefijo = (from a in context.encab_documento join t in context.tp_doc_registros on a.tipo equals t.tpdoc_id join b in context.encab_documento on a.idencabezado equals b.prefijo where b.idencabezado == encabezado.idencabezado select new { id = a.idencabezado, t.prefijo, descripcion = t.tpdoc_nombre }).FirstOrDefault(); icb_terceros tercero = context.icb_terceros.Where(x => x.tercero_id == encabezado.nit).FirstOrDefault(); List <SelectListItem> itemsU = new List <SelectListItem>(); string nombre = "(" + tercero.doc_tercero + ") - " + tercero.prinom_tercero + " " + tercero.segnom_tercero + " " + tercero.apellido_tercero + " " + tercero.segapellido_tercero; itemsU.Add(new SelectListItem { Text = nombre, Value = tercero.tercero_id.ToString() }); ViewBag.nit = itemsU; ViewBag.idTercero = encabezado.nit; ViewBag.idvendedor = encabezado.vendedor; ViewBag.bodega = encabezado.bodega; ViewBag.perfilcontable = encabezado.perfilcontable; ViewBag.prefijo = prefijo != null ? prefijo.prefijo != null ? prefijo.prefijo : "" : ""; ViewBag.descripcion = prefijo != null ? prefijo.descripcion != null ? prefijo.descripcion : "" : ""; ViewBag.bodega = encabezado.bodega != null ? encabezado.bodega_concesionario.bodccs_nombre : ""; ViewBag.bodegaid = encabezado.bodega; BuscarFavoritos(menu); return(View(encabezado)); }
public ActionResult Edit(int id, int?menu) { listas(); ViewBag.responsable = responsable(); encab_documento encabezado = context.encab_documento.Find(id); ViewBag.movimientos = context.mov_contable.Where(x => x.id_encab == encabezado.idencabezado).ToList(); caja_menor_encab caja = context.caja_menor_encab.FirstOrDefault(x => x.idencabezado == encabezado.idencabezado); ViewBag.caja_id = caja.cjm_id; BuscarFavoritos(menu); return(View(encabezado)); }
public ActionResult Edit(encab_documento encabezado, int?menu) { /*if (ModelState.IsValid) * { * encabezado.impoconsumo = 0; * encabezado.fec_actualizacion = DateTime.Now; * encabezado.fecha = DateTime.Now; * encabezado.user_idactualizacion = Convert.ToInt32(Session["user_usuarioid"]); * context.Entry(encabezado).State = EntityState.Modified; * context.SaveChanges(); * TempData["mensaje"] = "registro actualizado correctamente"; * return RedirectToAction("Edit", new { id = encabezado.idencabezado }); * }*/ BuscarFavoritos(menu); return(View(encabezado)); }
public ActionResult Edit(encab_documento encabezado) { if (ModelState.IsValid) { encabezado.impoconsumo = 0; encabezado.fec_actualizacion = DateTime.Now; encabezado.fecha = DateTime.Now; encabezado.user_idactualizacion = Convert.ToInt32(Session["user_usuarioid"]); context.Entry(encabezado).State = EntityState.Modified; context.SaveChanges(); TempData["mensaje"] = "registro actualizado correctamente"; return(RedirectToAction("Edit", new { id = encabezado.idencabezado })); } return(View(encabezado)); }
// GET: /Edit/5 public ActionResult Edit(int?id, int?menu) { listas(); if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } encab_documento encabezado = context.encab_documento.Find(id); if (encabezado == null) { return(HttpNotFound()); } return(View(encabezado)); }
// GET: /Edit/5 public ActionResult Edit(int?id, int?menu) { // listas(); if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } encab_documento encabezado = context.encab_documento.Find(id); if (encabezado == null) { return(HttpNotFound()); } ViewBag.tipo = new SelectList(context.tp_doc_registros.Where(x => x.tipo == 23), "tpdoc_id", "tpdoc_nombre"); var users = from u in context.users select new { idTercero = u.user_id, nombre = u.user_nombre, apellidos = u.user_apellido, u.user_numIdent }; List <SelectListItem> itemsU = new List <SelectListItem>(); foreach (var item in users) { string nombre = "(" + item.user_numIdent + ") - " + item.nombre + " " + item.apellidos; itemsU.Add(new SelectListItem { Text = nombre, Value = item.idTercero.ToString() }); } ViewBag.vendedor = itemsU; var bodegas = (from bodega in context.bodega_concesionario select new { bodega.id, nombre = "(" + bodega.bodccs_cod + ") " + bodega.bodccs_nombre }).ToList(); ViewBag.bodega = new SelectList(bodegas, "id", "nombre", encabezado.bodega); var terceros = (from tercero in context.icb_terceros select new { tercero.tercero_id, tercero.doc_tercero, tercero.prinom_tercero, tercero.segnom_tercero, tercero.apellido_tercero, tercero.segapellido_tercero, tercero.tpdoc_id, tercero.razon_social }).ToList(); var terceroNit = terceros.Select(c => new { c.tercero_id, nombre = c.tpdoc_id != 1 ? "(" + c.doc_tercero + ") " + c.prinom_tercero + " " + c.segnom_tercero + " " + c.apellido_tercero + " " + c.segapellido_tercero : "(" + c.doc_tercero + ") " + c.razon_social }).ToList(); ViewBag.nit = new SelectList(terceroNit, "tercero_id", "nombre", encabezado.nit); var perfiles = (from b in context.perfil_contable_bodega join t in context.perfil_contable_documento on b.idperfil equals t.id where b.idbodega == encabezado.bodega && t.tipo == encabezado.tipo select new { id = b.idperfil, perfil = t.descripcion }).ToList(); ViewBag.perfilcontable = new SelectList(perfiles, "id", "perfil", encabezado.perfilcontable); int factu = Convert.ToInt32(encabezado.documento); var buscarFacturasConSaldo = (from e in context.encab_documento join t in context.tp_doc_registros on e.tipo equals t.tpdoc_id join tp in context.tp_doc_registros_tipo on t.tipo equals tp.id where e.numero == factu && t.sw == 1 select new { e.valor_total, tipo = t.prefijo, descripcion = t.tpdoc_nombre, numeroFactura = e.numero, // numero = 7 valorTrans = e.valor_mercancia != null ? e.valor_mercancia : 0 }).ToList(); var datosDocu = buscarFacturasConSaldo.Select(x => new { valor_total = x.valor_total.ToString("N0"), //vencimiento1 = x.vencimiento.Value.ToString("yyyy/MM/dd", new CultureInfo("en-US")), x.tipo, x.descripcion, x.numeroFactura, val = x.valorTrans.ToString("N0") }).FirstOrDefault(); ViewBag.idtipo = datosDocu.tipo != null ? datosDocu.tipo : ""; ViewBag.descripcion = datosDocu.descripcion != null ? datosDocu.descripcion : ""; ViewBag.documento = datosDocu.numeroFactura != null ? datosDocu.numeroFactura : 0; ViewBag.costo = datosDocu.val != null ? datosDocu.val : ""; ViewBag.valor_total = datosDocu.valor_total != null ? datosDocu.valor_total : ""; return(View(encabezado)); }
public ActionResult Create(NotasContablesModel ncp) { if (ModelState.IsValid) { //consecutivo grupoconsecutivos grupo = context.grupoconsecutivos.FirstOrDefault(x => x.documento_id == ncp.tipo && x.bodega_id == ncp.bodega); if (grupo != null) { DocumentoPorBodegaController doc = new DocumentoPorBodegaController(); long consecutivo = doc.BuscarConsecutivo(grupo.grupo); //Encabezado documento encab_documento encabezado = new encab_documento { tipo = ncp.tipo, numero = consecutivo, nit = ncp.nit, fecha = DateTime.Now, valor_total = Convert.ToDecimal(ncp.valor_total), iva = Convert.ToDecimal(ncp.iva), retencion = Convert.ToDecimal(ncp.retencion), retencion_ica = Convert.ToDecimal(ncp.retencion_ica), retencion_iva = Convert.ToDecimal(ncp.retencion_iva), vendedor = ncp.vendedor, documento = ncp.documento, prefijo = ncp.prefijo, valor_mercancia = Convert.ToDecimal(ncp.costo), nota1 = ncp.nota1, userid_creacion = Convert.ToInt32(Session["user_usuarioid"]), fec_creacion = DateTime.Now, porcen_retencion = float.Parse(ncp.por_retencion, CultureInfo .InvariantCulture), //esto se utiliza para que al guardar el dato en la BD me quede con la "," del decimal porcen_reteiva = float.Parse(ncp.por_retencion_iva, CultureInfo .InvariantCulture), //esto se utiliza para que al guardar el dato en la BD me quede con la "," del decimal porcen_retica = float.Parse(ncp.por_retencion_ica, CultureInfo .InvariantCulture), //esto se utiliza para que al guardar el dato en la BD me quede con la "," del decimal perfilcontable = ncp.perfilcontable, bodega = ncp.bodega }; context.encab_documento.Add(encabezado); // ***** ACTUALIZA ENCABEZADO ***** //valor aplicado tengo que actualizarlo en la factura a la que estoy generando la nota //buscas la factura if (!string.IsNullOrWhiteSpace(ncp.documento) && ncp.prefijo != null) { int numerodocumento = Convert.ToInt32(ncp.documento); encab_documento factura = context.encab_documento .Where(d => d.idencabezado == ncp.prefijo && d.numero == numerodocumento).FirstOrDefault(); if (factura != null) { int valoraplicado = Convert.ToInt32(factura.valor_aplicado) != null ? Convert.ToInt32(factura.valor_aplicado) : 0; decimal nuevovalor = Convert.ToDecimal(valoraplicado) + Convert.ToDecimal(ncp.valor_total); factura.valor_aplicado = Convert.ToDecimal(nuevovalor); context.Entry(factura).State = EntityState.Modified; // si al crear la nota credito se selecciono factura se debe guardar el registro tambien en cruce documentos, de lo contrario NO //Cruce documentos cruce_documentos cd = new cruce_documentos { idtipo = ncp.tipo, numero = consecutivo, idtipoaplica = Convert.ToInt32(ncp.tipofactura), numeroaplica = Convert.ToInt32(ncp.documento), valor = Convert.ToDecimal(ncp.valor_total), fecha = DateTime.Now, fechacruce = DateTime.Now, userid_creacion = Convert.ToInt32(Session["user_usuarioid"]) }; context.cruce_documentos.Add(cd); // ***** ACTUALIZA CRUCE DE DOCUMENTOS ***** } } //movimiento contable //buscamos en perfil cuenta documento, por medio del perfil seleccionado var parametrosCuentasVerificar = (from perfil in context.perfil_cuentas_documento join nombreParametro in context.paramcontablenombres on perfil.id_nombre_parametro equals nombreParametro.id join cuenta in context.cuenta_puc on perfil.cuenta equals cuenta.cntpuc_id where perfil.id_perfil == ncp.perfilcontable select new { perfil.id, perfil.id_nombre_parametro, perfil.cuenta, perfil.centro, perfil.id_perfil, nombreParametro.descripcion_parametro, cuenta.cntpuc_numero }).ToList(); int secuencia = 1; decimal totalDebitos = 0; decimal totalCreditos = 0; List <DocumentoDescuadradoModel> listaDescuadrados = new List <DocumentoDescuadradoModel>(); List <cuentas_valores> ids_cuentas_valores = new List <cuentas_valores>(); centro_costo centroValorCero = context.centro_costo.FirstOrDefault(x => x.pre_centcst == "0"); int idCentroCero = centroValorCero != null?Convert.ToInt32(centroValorCero.centcst_id) : 0; foreach (var parametro in parametrosCuentasVerificar) { string descripcionParametro = context.paramcontablenombres .FirstOrDefault(x => x.id == parametro.id_nombre_parametro).descripcion_parametro; cuenta_puc buscarCuenta = context.cuenta_puc.FirstOrDefault(x => x.cntpuc_id == parametro.cuenta); if (buscarCuenta != null) { if (parametro.id_nombre_parametro == 2 && Convert.ToDecimal(ncp.iva) != 0 || parametro.id_nombre_parametro == 3 && Convert.ToDecimal(ncp.retencion) != 0 || parametro.id_nombre_parametro == 4 && Convert.ToDecimal(ncp.por_retencion_iva) != 0 || parametro.id_nombre_parametro == 5 && Convert.ToDecimal(ncp.retencion_ica) != 0 || parametro.id_nombre_parametro == 1 || parametro.id_nombre_parametro == 9) { mov_contable movNuevo = new mov_contable { id_encab = ncp.id_encab, seq = secuencia, idparametronombre = parametro.id_nombre_parametro, cuenta = parametro.cuenta, centro = parametro.centro, fec = DateTime.Now, fec_creacion = DateTime.Now, userid_creacion = Convert.ToInt32(Session["user_usuarioid"]), detalle = ncp.nota1 }; cuenta_puc info = context.cuenta_puc.Where(i => i.cntpuc_id == parametro.cuenta) .FirstOrDefault(); if (info.tercero) { movNuevo.nit = ncp.nit; } else { icb_terceros tercero = context.icb_terceros.Where(t => t.doc_tercero == "0") .FirstOrDefault(); movNuevo.nit = tercero.tercero_id; } // las siguientes validaciones se hacen dependiendo de la cuenta que esta moviendo la nota credito, para guardar la informacion acorde if (parametro.id_nombre_parametro == 1) // if (parametro.id_nombre_parametro == 10) { /*if (info.aplicaniff==true) * { * * }*/ if (info.manejabase) { movNuevo.basecontable = Convert.ToDecimal(ncp.costo); } else { movNuevo.basecontable = 0; } if (info.documeto) { movNuevo.documento = ncp.documento; } if (buscarCuenta.concepniff == 1) { //movNuevo.credito = Convert.ToDecimal(ncp.valor_total); //movNuevo.debito = 0; //movNuevo.creditoniif = Convert.ToDecimal(ncp.valor_total); //movNuevo.debitoniif = 0; movNuevo.credito = 0; movNuevo.debito = Convert.ToDecimal(ncp.valor_total); movNuevo.creditoniif = 0; movNuevo.debitoniif = Convert.ToDecimal(ncp.valor_total); } if (buscarCuenta.concepniff == 4) { movNuevo.creditoniif = 0; movNuevo.debitoniif = Convert.ToDecimal(ncp.valor_total); } if (buscarCuenta.concepniff == 5) { movNuevo.credito = 0; movNuevo.debito = Convert.ToDecimal(ncp.valor_total); } } if (parametro.id_nombre_parametro == 9) // credito { /*if (info.aplicaniff == true) * { * * }*/ if (info.manejabase) { movNuevo.basecontable = Convert.ToDecimal(ncp.costo); } else { movNuevo.basecontable = 0; } if (info.documeto) { movNuevo.documento = ncp.documento; } if (buscarCuenta.concepniff == 1) { movNuevo.credito = Convert.ToDecimal(ncp.costo); movNuevo.debito = 0; movNuevo.creditoniif = Convert.ToDecimal(ncp.costo); movNuevo.debitoniif = 0; } if (buscarCuenta.concepniff == 4) { movNuevo.creditoniif = Convert.ToDecimal(ncp.costo); movNuevo.debitoniif = 0; } if (buscarCuenta.concepniff == 5) { movNuevo.credito = Convert.ToDecimal(ncp.costo); movNuevo.debito = 0; } } if (parametro.id_nombre_parametro == 2) // credito { /*if (info.aplicaniff == true) * { * * }*/ if (info.manejabase) { movNuevo.basecontable = Convert.ToDecimal(ncp.costo); } else { movNuevo.basecontable = 0; } if (info.documeto) { movNuevo.documento = ncp.documento; } if (buscarCuenta.concepniff == 1) { movNuevo.credito = Convert.ToDecimal(ncp.iva); movNuevo.debito = 0; movNuevo.creditoniif = Convert.ToDecimal(ncp.iva); movNuevo.debitoniif = 0; } if (buscarCuenta.concepniff == 4) { movNuevo.creditoniif = Convert.ToDecimal(ncp.iva); movNuevo.debitoniif = 0; } if (buscarCuenta.concepniff == 5) { movNuevo.credito = Convert.ToDecimal(ncp.iva); movNuevo.debito = 0; } } if (parametro.id_nombre_parametro == 3) { /*if (info.aplicaniff == true) * { * * }*/ if (info.manejabase) { movNuevo.basecontable = Convert.ToDecimal(ncp.costo); } else { movNuevo.basecontable = 0; } if (info.documeto) { movNuevo.documento = ncp.documento; } if (buscarCuenta.concepniff == 1) { movNuevo.credito = 0; movNuevo.debito = Convert.ToDecimal(ncp.retencion); movNuevo.creditoniif = 0; movNuevo.debitoniif = Convert.ToDecimal(ncp.retencion); } if (buscarCuenta.concepniff == 4) { movNuevo.creditoniif = 0; movNuevo.debitoniif = Convert.ToDecimal(ncp.retencion); } if (buscarCuenta.concepniff == 5) { movNuevo.credito = 0; movNuevo.debito = Convert.ToDecimal(ncp.retencion); } } if (parametro.id_nombre_parametro == 4) { /*if (info.aplicaniff == true) * { * * }*/ if (info.manejabase) { movNuevo.basecontable = Convert.ToDecimal(ncp.iva); } else { movNuevo.basecontable = 0; } if (info.documeto) { movNuevo.documento = ncp.documento; } if (buscarCuenta.concepniff == 1) { movNuevo.credito = 0; movNuevo.debito = Convert.ToDecimal(ncp.retencion_iva); movNuevo.creditoniif = 0; movNuevo.debitoniif = Convert.ToDecimal(ncp.retencion_iva); } if (buscarCuenta.concepniff == 4) { movNuevo.creditoniif = 0; movNuevo.debitoniif = Convert.ToDecimal(ncp.retencion_iva); } if (buscarCuenta.concepniff == 5) { movNuevo.credito = 0; movNuevo.debito = Convert.ToDecimal(ncp.retencion_iva); } } if (parametro.id_nombre_parametro == 5) { /*if (info.aplicaniff == true) * { * * }*/ if (info.manejabase) { movNuevo.basecontable = Convert.ToDecimal(ncp.costo); } else { movNuevo.basecontable = 0; } if (info.documeto) { movNuevo.documento = ncp.documento; } if (buscarCuenta.concepniff == 1) { movNuevo.credito = 0; movNuevo.debito = Convert.ToDecimal(ncp.retencion_ica); movNuevo.creditoniif = 0; movNuevo.debitoniif = Convert.ToDecimal(ncp.retencion_ica); } if (buscarCuenta.concepniff == 4) { movNuevo.creditoniif = 0; movNuevo.debitoniif = Convert.ToDecimal(ncp.retencion_ica); } if (buscarCuenta.concepniff == 5) { movNuevo.credito = 0; movNuevo.debito = Convert.ToDecimal(ncp.retencion_ica); } } secuencia++; //Cuentas valores cuentas_valores buscar_cuentas_valores = context.cuentas_valores.FirstOrDefault(x => x.centro == parametro.centro && x.cuenta == parametro.cuenta && x.nit == movNuevo.nit); if (buscar_cuentas_valores != null) { buscar_cuentas_valores.debito += movNuevo.debito; buscar_cuentas_valores.credito += movNuevo.credito; buscar_cuentas_valores.debitoniff += movNuevo.debitoniif; buscar_cuentas_valores.creditoniff += movNuevo.creditoniif; context.Entry(buscar_cuentas_valores).State = EntityState.Modified; } else { DateTime fechaHoy = DateTime.Now; cuentas_valores crearCuentaValor = new cuentas_valores { ano = fechaHoy.Year, mes = fechaHoy.Month, cuenta = movNuevo.cuenta, centro = movNuevo.centro, nit = movNuevo.nit, debito = movNuevo.debito, credito = movNuevo.credito, debitoniff = movNuevo.debitoniif, creditoniff = movNuevo.creditoniif }; context.cuentas_valores .Add(crearCuentaValor); // ***** ACTUALIZA CUENTA VALORES ***** } context.mov_contable.Add(movNuevo); // ***** ACTUALIZA MOV CONTABLES ***** totalCreditos += movNuevo.credito; totalDebitos += movNuevo.debito; listaDescuadrados.Add( new DocumentoDescuadradoModel // ***** ACTUALIZA listaDescuadrados ***** { NumeroCuenta = "(" + info.cntpuc_numero + ")" + info.cntpuc_descp, DescripcionParametro = descripcionParametro, ValorDebito = movNuevo.debito, ValorCredito = movNuevo.credito }); } } } if (totalDebitos != totalCreditos) { TempData["mensaje_error"] = "El documento no tiene los movimientos calculados correctamente, verifique el perfil del documento"; ViewBag.documentoSeleccionado = encabezado.tipo; ViewBag.bodegaSeleccionado = encabezado.bodega; ViewBag.perfilSeleccionado = encabezado.perfilcontable; ViewBag.documentoDescuadrado = listaDescuadrados; ViewBag.calculoDebito = totalDebitos; ViewBag.calculoCredito = totalCreditos; listas(); return(View(ncp)); } context.SaveChanges(); TempData["mensaje"] = "registro creado correctamente"; DocumentoPorBodegaController conse = new DocumentoPorBodegaController(); doc.ActualizarConsecutivo(grupo.grupo, consecutivo); return(RedirectToAction("Create")); } TempData["mensaje_error"] = "no hay consecutivo"; } else { TempData["mensaje_error"] = "No fue posible guardar el registro, por favor valide"; List <ModelErrorCollection> errors = ModelState.Select(x => x.Value.Errors) .Where(y => y.Count > 0) .ToList(); } listas(); return(View(ncp)); }
public void listas() { //var buscarTipoDocumento = (from tipoDocumento in context.tp_doc_registros // select new // { // tipoDocumento.sw, // tipoDocumento.tpdoc_id, // nombre = "(" + tipoDocumento.prefijo + ") " + tipoDocumento.tpdoc_nombre, // tipoDocumento.tipo // }).ToList(); //ViewBag.tipo_documentoFiltro = new SelectList(buscarTipoDocumento.Where(x => x.sw == 3), "tpdoc_id", "nombre"); var buscarTipoDocumento = (from tipoDocumento in context.tp_doc_registros select new { tipoDocumento.sw, tipoDocumento.tpdoc_id, nombre = "(" + tipoDocumento.prefijo + ") " + tipoDocumento.tpdoc_nombre, tipoDocumento.tipo }).ToList(); ViewBag.tipo_documentoFiltro = new SelectList(buscarTipoDocumento.Where(x => x.sw == 1), "tpdoc_id", "nombre"); ViewBag.tipo = new SelectList(context.tp_doc_registros.Where(x => x.tipo == 23), "tpdoc_id", "tpdoc_nombre"); var users = from u in context.users select new { idTercero = u.user_id, nombre = u.user_nombre, apellidos = u.user_apellido, u.user_numIdent }; List <SelectListItem> itemsU = new List <SelectListItem>(); foreach (var item in users) { string nombre = "(" + item.user_numIdent + ") - " + item.nombre + " " + item.apellidos; itemsU.Add(new SelectListItem { Text = nombre, Value = item.idTercero.ToString() }); } ViewBag.vendedor = itemsU; ViewBag.moneda = new SelectList(context.monedas, "moneda", "descripcion"); ViewBag.tasa = new SelectList(context.moneda_conversion, "id", "conversion"); ViewBag.motivocompra = new SelectList(context.motcompra, "id", "Motivo"); ViewBag.condicion_pago = context.fpago_tercero; var provedores = from pro in context.tercero_proveedor join ter in context.icb_terceros on pro.tercero_id equals ter.tercero_id select new { idTercero = ter.tercero_id, nombreTErcero = ter.prinom_tercero, apellidosTercero = ter.apellido_tercero, razonSocial = ter.razon_social, ter.doc_tercero }; List <SelectListItem> items = new List <SelectListItem>(); foreach (var item in provedores) { string nombre = item.doc_tercero + " - " + item.nombreTErcero + " " + item.apellidosTercero + " " + item.razonSocial; items.Add(new SelectListItem { Text = nombre, Value = item.idTercero.ToString() }); } ViewBag.nit = items; encab_documento buscarSerialUltimaNota = context.encab_documento.OrderByDescending(x => x.idencabezado).FirstOrDefault(); ViewBag.numNotaCreado = buscarSerialUltimaNota != null ? buscarSerialUltimaNota.numero : 0; }
public ActionResult Create(EntradaSalidaModel modelo, int?menu) { if (ModelState.IsValid) { long numeroConsecutivo = 0; ConsecutivosGestion gestionConsecutivo = new ConsecutivosGestion(); icb_doc_consecutivos numeroConsecutivoAux = new icb_doc_consecutivos(); tp_doc_registros buscarTipoDocRegistro = context.tp_doc_registros.FirstOrDefault(x => x.tpdoc_id == modelo.TipoDocumento); numeroConsecutivoAux = gestionConsecutivo.BuscarConsecutivo(buscarTipoDocRegistro, modelo.TipoDocumento, modelo.BodegaOrigen); grupoconsecutivos buscarGrupoConsecutivos = context.grupoconsecutivos.FirstOrDefault(x => x.documento_id == modelo.TipoDocumento && x.bodega_id == modelo.BodegaOrigen); int numeroGrupo = buscarGrupoConsecutivos != null ? buscarGrupoConsecutivos.grupo : 0; if (numeroConsecutivoAux != null) { numeroConsecutivo = numeroConsecutivoAux.doccons_siguiente; } else { TempData["mensaje_error"] = "No existe un numero consecutivo asignado para este tipo de documento"; ListasDesplegables(); ViewBag.documentoSeleccionado = modelo.TipoDocumento; ViewBag.bodegaSeleccionada = modelo.BodegaOrigen; ViewBag.perfilSeleccionado = modelo.PerfilContable; BuscarFavoritos(menu); return(View(modelo)); } // Si llega aqui significa que si hay un numero de documento consecutivo decimal sumaCostosReferenciasAux = 0; int numero_repuestosAux = Convert.ToInt32(Request["lista_repuestos"]); int cantidad_total = Convert.ToInt32(Request["cantidad_total"]); if (cantidad_total <= 0) { TempData["mensaje_error"] = "No ha agregado ninguna referencia para realizar el proceso"; ListasDesplegables(); ViewBag.documentoSeleccionado = modelo.TipoDocumento; ViewBag.bodegaSeleccionada = modelo.BodegaOrigen; ViewBag.perfilSeleccionado = modelo.PerfilContable; BuscarFavoritos(menu); return(View(modelo)); } for (int i = 1; i <= numero_repuestosAux; i++) { string referencia_codigo = Request["codigo_referencia" + i]; string referencia_valor = Request["valor_referencia" + i]; if (string.IsNullOrEmpty(referencia_codigo) || string.IsNullOrEmpty(referencia_valor)) { // Significa que la agregaron y la eliminaron } else { sumaCostosReferenciasAux += Convert.ToDecimal(referencia_valor); } } var parametrosCuentasVerificar = (from perfil in context.perfil_cuentas_documento join nombreParametro in context.paramcontablenombres on perfil.id_nombre_parametro equals nombreParametro.id join cuenta in context.cuenta_puc on perfil.cuenta equals cuenta.cntpuc_id where perfil.id_perfil == modelo.PerfilContable select new { perfil.id, perfil.id_nombre_parametro, perfil.cuenta, perfil.centro, perfil.id_perfil, nombreParametro.descripcion_parametro, cuenta.cntpuc_numero }).ToList(); List <DocumentoDescuadradoModel> listaDescuadrados = new List <DocumentoDescuadradoModel>(); decimal calcularDebito = 0; decimal calcularCredito = 0; foreach (var parametro in parametrosCuentasVerificar) { cuenta_puc buscarCuenta = context.cuenta_puc.FirstOrDefault(x => x.cntpuc_id == parametro.cuenta); if (buscarCuenta != null) { if (parametro.id_nombre_parametro == 9 || parametro.id_nombre_parametro == 12) { if (parametro.id_nombre_parametro == 12) { if (buscarCuenta.concepniff == 1 || buscarCuenta.concepniff == 5) { calcularCredito += sumaCostosReferenciasAux; listaDescuadrados.Add(new DocumentoDescuadradoModel { NumeroCuenta = parametro.cntpuc_numero, DescripcionParametro = parametro.descripcion_parametro, ValorDebito = 0, ValorCredito = sumaCostosReferenciasAux }); //if (buscarCuenta.mov_cnt.ToUpper().Contains("DEBITO")) //{ // calcularDebito += sumaCostosReferenciasAux; // listaDescuadrados.Add(new DocumentoDescuadradoModel() // { // NumeroCuenta = parametro.cntpuc_numero, // DescripcionParametro = parametro.descripcion_parametro, // ValorDebito = sumaCostosReferenciasAux, // ValorCredito = 0 // }); //} //if (buscarCuenta.mov_cnt.ToUpper().Contains("CREDITO")) //{ // calcularCredito += sumaCostosReferenciasAux; // listaDescuadrados.Add(new DocumentoDescuadradoModel() // { // NumeroCuenta = parametro.cntpuc_numero, // DescripcionParametro = parametro.descripcion_parametro, // ValorDebito = 0, // ValorCredito = sumaCostosReferenciasAux // }); //} } else { listaDescuadrados.Add(new DocumentoDescuadradoModel { NumeroCuenta = parametro.cntpuc_numero, DescripcionParametro = parametro.descripcion_parametro, ValorDebito = 0, ValorCredito = 0 }); } } else { if (buscarCuenta.concepniff == 1 || buscarCuenta.concepniff == 5) { calcularDebito += sumaCostosReferenciasAux; listaDescuadrados.Add(new DocumentoDescuadradoModel { NumeroCuenta = parametro.cntpuc_numero, DescripcionParametro = parametro.descripcion_parametro, ValorDebito = sumaCostosReferenciasAux, ValorCredito = 0 }); //if (buscarCuenta.mov_cnt.ToUpper().Contains("DEBITO")) //{ // calcularDebito += sumaCostosReferenciasAux; // listaDescuadrados.Add(new DocumentoDescuadradoModel() // { // NumeroCuenta = parametro.cntpuc_numero, // DescripcionParametro = parametro.descripcion_parametro, // ValorDebito = sumaCostosReferenciasAux, // ValorCredito = 0 // }); //} //if (buscarCuenta.mov_cnt.ToUpper().Contains("CREDITO")) //{ // calcularCredito += sumaCostosReferenciasAux; // listaDescuadrados.Add(new DocumentoDescuadradoModel() // { // NumeroCuenta = parametro.cntpuc_numero, // DescripcionParametro = parametro.descripcion_parametro, // ValorDebito = 0, // ValorCredito = sumaCostosReferenciasAux // }); //} } else { listaDescuadrados.Add(new DocumentoDescuadradoModel { NumeroCuenta = parametro.cntpuc_numero, DescripcionParametro = parametro.descripcion_parametro, ValorDebito = 0, ValorCredito = 0 }); } } } } } if (calcularCredito != calcularDebito) { TempData["documento_descuadrado"] = "El documento no tiene los movimientos calculados correctamente"; ViewBag.documentoSeleccionado = modelo.TipoDocumento; ViewBag.bodegaSeleccionada = modelo.BodegaOrigen; ViewBag.perfilSeleccionado = modelo.PerfilContable; ViewBag.documentoDescuadrado = listaDescuadrados; ViewBag.calculoDebito = calcularDebito; ViewBag.calculoCredito = calcularCredito; ListasDesplegables(); BuscarFavoritos(menu); return(View(modelo)); } icb_sysparameter buscarNit = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P33"); int nitTraslado = buscarNit != null?Convert.ToInt32(buscarNit.syspar_value) : 0; encab_documento crearEncabezado = new encab_documento { tipo = modelo.TipoDocumento, bodega = modelo.BodegaOrigen, numero = numeroConsecutivo, nit = nitTraslado, //crearEncabezado.documento = modelo.Referencia; // Puede haber varias referencias fecha = DateTime.Now, fec_creacion = DateTime.Now, vencimiento = DateTime.Now, userid_creacion = Convert.ToInt32(Session["user_usuarioid"]), impoconsumo = 0, perfilcontable = modelo.PerfilContable, notas = modelo.Notas }; context.encab_documento.Add(crearEncabezado); bool guardar = context.SaveChanges() > 0; encab_documento buscarUltimoEncabezado = context.encab_documento.OrderByDescending(x => x.idencabezado).FirstOrDefault(); decimal sumaCostosReferencias = 0; int numero_repuestos = Convert.ToInt32(Request["lista_repuestos"]); int sequ = 1; for (int i = 1; i <= numero_repuestos; i++) { string referencia_codigo = Request["codigo_referencia" + i]; string referencia_valor = Request["valor_referencia" + i]; if (string.IsNullOrEmpty(referencia_codigo) || string.IsNullOrEmpty(referencia_valor)) { // Significa que la agregaron y la eliminaron } else { sumaCostosReferencias += Convert.ToDecimal(referencia_valor); referencias_inven buscarReferenciasInvenOrigen = context.referencias_inven.FirstOrDefault(x => x.codigo == referencia_codigo && x.ano == DateTime.Now.Year && x.mes == DateTime.Now.Month && x.bodega == modelo.BodegaOrigen); if (buscarReferenciasInvenOrigen != null) { buscarReferenciasInvenOrigen.cos_ent = (!string.IsNullOrEmpty(buscarReferenciasInvenOrigen.cos_ent.ToString()) ? Convert.ToDecimal(buscarReferenciasInvenOrigen.cos_ent) : 0) + (!string.IsNullOrEmpty(referencia_valor) ? Convert.ToDecimal(referencia_valor) : 0); buscarReferenciasInvenOrigen.sub_cos = (!string.IsNullOrEmpty(buscarReferenciasInvenOrigen.sub_cos.ToString()) ? Convert.ToDecimal(buscarReferenciasInvenOrigen.sub_cos) : 0) + (!string.IsNullOrEmpty(referencia_valor) ? Convert.ToDecimal(referencia_valor) : 0); context.Entry(buscarReferenciasInvenOrigen).State = EntityState.Modified; } else { referencias_inven crearReferencia = new referencias_inven { bodega = modelo.BodegaOrigen, codigo = referencia_codigo, ano = (short)DateTime.Now.Year, mes = (short)DateTime.Now.Month, can_ini = 0, cos_ent = !string.IsNullOrEmpty(referencia_valor) ? Convert.ToDecimal(referencia_valor) : 0, sub_cos = !string.IsNullOrEmpty(referencia_valor) ? Convert.ToDecimal(referencia_valor) : 0, modulo = "R" }; context.referencias_inven.Add(crearReferencia); } lineas_documento crearLineasOrigen = new lineas_documento { codigo = referencia_codigo, fec_creacion = DateTime.Now, userid_creacion = Convert.ToInt32(Session["user_usuarioid"]), nit = nitTraslado, bodega = modelo.BodegaOrigen, seq = sequ, estado = true, fec = DateTime.Now, costo_unitario = !string.IsNullOrEmpty(referencia_valor) ? Convert.ToDecimal(referencia_valor) : 0, id_encabezado = buscarUltimoEncabezado != null ? buscarUltimoEncabezado.idencabezado : 0 }; context.lineas_documento.Add(crearLineasOrigen); sequ++; } } centro_costo centroValorCero = context.centro_costo.FirstOrDefault(x => x.pre_centcst == "0"); int idCentroCero = centroValorCero != null?Convert.ToInt32(centroValorCero.centcst_id) : 0; icb_terceros terceroValorCero = context.icb_terceros.FirstOrDefault(x => x.doc_tercero == "0"); int idTerceroCero = centroValorCero != null?Convert.ToInt32(terceroValorCero.tercero_id) : 0; int secuencia = 1; foreach (var parametro in parametrosCuentasVerificar) { cuenta_puc buscarCuenta = context.cuenta_puc.FirstOrDefault(x => x.cntpuc_id == parametro.cuenta); if (buscarCuenta != null) { if (parametro.id_nombre_parametro == 9 || parametro.id_nombre_parametro == 12) { mov_contable movNuevo = new mov_contable { id_encab = buscarUltimoEncabezado != null ? buscarUltimoEncabezado.idencabezado : 0, fec_creacion = DateTime.Now, userid_creacion = Convert.ToInt32(Session["user_usuarioid"]), idparametronombre = parametro.id_nombre_parametro, cuenta = parametro.cuenta, centro = parametro.centro, nit = 0, fec = DateTime.Now, seq = secuencia }; // La validacion se hace ya que cuando el parametro es 9 (es decir inventario) se invierte el credito con debito if (parametro.id_nombre_parametro == 12) { if (buscarCuenta.concepniff == 1) { //if (buscarCuenta.mov_cnt.ToUpper().Contains("DEBITO")) //{ movNuevo.credito = sumaCostosReferencias; movNuevo.creditoniif = sumaCostosReferencias; //} //if (buscarCuenta.mov_cnt.ToUpper().Contains("CREDITO")) //{ // movNuevo.debitoniif = sumaCostosReferencias; // movNuevo.debito = sumaCostosReferencias; //} } if (buscarCuenta.concepniff == 4) { //if (buscarCuenta.mov_cnt.ToUpper().Contains("DEBITO")) //{ movNuevo.creditoniif = sumaCostosReferencias; } //} //if (buscarCuenta.mov_cnt.ToUpper().Contains("CREDITO")) //{ // movNuevo.debitoniif = sumaCostosReferencias; //} if (buscarCuenta.concepniff == 5) { //if (buscarCuenta.mov_cnt.ToUpper().Contains("DEBITO")) //{ movNuevo.credito = sumaCostosReferencias; } //} //if (buscarCuenta.mov_cnt.ToUpper().Contains("CREDITO")) //{ // movNuevo.debito = sumaCostosReferencias; //} } else { if (buscarCuenta.concepniff == 1) { //if (buscarCuenta.mov_cnt.ToUpper().Contains("DEBITO")) //{ movNuevo.debitoniif = sumaCostosReferencias; movNuevo.debito = sumaCostosReferencias; //} //if (buscarCuenta.mov_cnt.ToUpper().Contains("CREDITO")) //{ // movNuevo.credito = sumaCostosReferencias; // movNuevo.creditoniif = sumaCostosReferencias; //} } if (buscarCuenta.concepniff == 4) { //if (buscarCuenta.mov_cnt.ToUpper().Contains("DEBITO")) //{ movNuevo.debitoniif = sumaCostosReferencias; } //} //if (buscarCuenta.mov_cnt.ToUpper().Contains("CREDITO")) //{ // movNuevo.creditoniif = sumaCostosReferencias; //} if (buscarCuenta.concepniff == 5) { //if (buscarCuenta.mov_cnt.ToUpper().Contains("DEBITO")) //{ movNuevo.debito = sumaCostosReferencias; } //} //if (buscarCuenta.mov_cnt.ToUpper().Contains("CREDITO")) //{ // movNuevo.credito = sumaCostosReferencias; //} } if (buscarCuenta.manejabase) { movNuevo.basecontable = sumaCostosReferencias; } if (buscarCuenta.documeto) { movNuevo.documento = "1"; } if (buscarCuenta.tercero) { movNuevo.nit = nitTraslado; } movNuevo.detalle = "Sube costo de referencias"; secuencia++; DateTime fechaHoy = DateTime.Now; cuentas_valores buscar_cuentas_valores = context.cuentas_valores.FirstOrDefault(x => x.centro == parametro.centro && x.cuenta == parametro.cuenta && x.nit == movNuevo.nit && x.ano == fechaHoy.Year && x.mes == fechaHoy.Month); if (buscar_cuentas_valores != null) { buscar_cuentas_valores.ano = fechaHoy.Year; buscar_cuentas_valores.mes = fechaHoy.Month; buscar_cuentas_valores.cuenta = movNuevo.cuenta; buscar_cuentas_valores.centro = movNuevo.centro; //buscar_cuentas_valores.nit = movNuevo.nit ?? idTerceroCero; buscar_cuentas_valores.nit = movNuevo.nit; buscar_cuentas_valores.debito += movNuevo.debito; buscar_cuentas_valores.credito += movNuevo.credito; buscar_cuentas_valores.debitoniff += movNuevo.debitoniif; buscar_cuentas_valores.creditoniff += movNuevo.creditoniif; context.Entry(buscar_cuentas_valores).State = EntityState.Modified; } else { cuentas_valores crearCuentaValor = new cuentas_valores { ano = fechaHoy.Year, mes = fechaHoy.Month, cuenta = movNuevo.cuenta, centro = movNuevo.centro, //crearCuentaValor.nit = movNuevo.nit ?? idTerceroCero; nit = movNuevo.nit, debito = movNuevo.debito, credito = movNuevo.credito, debitoniff = movNuevo.debitoniif, creditoniff = movNuevo.creditoniif }; context.cuentas_valores.Add(crearCuentaValor); } context.mov_contable.Add(movNuevo); } } } try { int guardarLineasYMovimientos = context.SaveChanges(); if (guardarLineasYMovimientos > 0) { if (buscarGrupoConsecutivos != null) { List <icb_doc_consecutivos> numerosConsecutivos = context.icb_doc_consecutivos .Where(x => x.doccons_grupoconsecutivo == numeroGrupo).ToList(); foreach (icb_doc_consecutivos item in numerosConsecutivos) { item.doccons_siguiente = item.doccons_siguiente + 1; context.Entry(item).State = EntityState.Modified; } context.SaveChanges(); } TempData["mensaje"] = "El cambio de costo de la(s) referencia(s) se ha realizado correctamente con numero " + numeroConsecutivo; ViewBag.numDocumentoCreado = numeroConsecutivo; } } catch (Exception ex) { Exception sss = ex.InnerException; } } ListasDesplegables(); BuscarFavoritos(menu); return(View()); }
public void listas(NoteDebitScheduleModel modelo) { icb_sysparameter vparam = context.icb_sysparameter.Where(d => d.syspar_cod == "P95").FirstOrDefault(); int debitNote = vparam != null?Convert.ToInt32(vparam.syspar_value) : 3038; var buscarTipoDocumento = (from tipoDocumento in context.tp_doc_registros select new { tipoDocumento.sw, tipoDocumento.tpdoc_id, nombre = "(" + tipoDocumento.prefijo + ") " + tipoDocumento.tpdoc_nombre, tipoDocumento.tipo }).ToList(); ViewBag.tipo_documentoFiltro = new SelectList(buscarTipoDocumento.Where(x => x.sw == 3), "tpdoc_id", "nombre"); ViewBag.tipo = new SelectList(context.tp_doc_registros.Where(x => x.tipo == 21), "tpdoc_id", "tpdoc_nombre"); var users = from u in context.users select new { idTercero = u.user_id, nombre = u.user_nombre, apellidos = u.user_apellido, u.user_numIdent }; List <SelectListItem> itemsU = new List <SelectListItem>(); foreach (var item in users) { string nombre = "(" + item.user_numIdent + ") - " + item.nombre + " " + item.apellidos; itemsU.Add(new SelectListItem { Text = nombre, Value = item.idTercero.ToString() }); } ViewBag.vendedor = itemsU; ViewBag.moneda = new SelectList(context.monedas, "moneda", "descripcion"); ViewBag.tasa = new SelectList(context.moneda_conversion, "id", "conversion"); ViewBag.motivocompra = new SelectList(context.motcompra, "id", "Motivo"); ViewBag.condicion_pago = context.fpago_tercero; var provedores = from pro in context.tercero_cliente join ter in context.icb_terceros on pro.tercero_id equals ter.tercero_id select new { idTercero = ter.tercero_id, nombreTErcero = ter.prinom_tercero, apellidosTercero = ter.apellido_tercero, razonSocial = ter.razon_social, ter.doc_tercero }; List <SelectListItem> items = new List <SelectListItem>(); foreach (var item in provedores) { string nombre = item.doc_tercero + " - " + item.nombreTErcero + " " + item.apellidosTercero + " " + item.razonSocial; items.Add(new SelectListItem { Text = nombre, Value = item.idTercero.ToString() }); } ViewBag.nit = items; encab_documento buscarSerialUltimaNota = context.encab_documento.OrderByDescending(x => x.idencabezado) .Where(d => d.tipo == debitNote).FirstOrDefault(); ViewBag.numNotaCreado = buscarSerialUltimaNota != null ? buscarSerialUltimaNota.numero : 0; //busco el perfil contable del documento y si está disponible para esa bodega var perfilcon = context.perfil_contable_bodega.Where(d => d.idbodega == modelo.IdLarder && d.perfil_contable_documento.tipo == debitNote).FirstOrDefault(); modelo.Document = perfilcon != null ? perfilcon.perfil_contable_documento.tp_doc_registros.tpdoc_nombre : ""; modelo.typeDocument = perfilcon != null ? perfilcon.perfil_contable_documento.tp_doc_registros.tpdoc_id : 0; modelo.CountableProfile = perfilcon != null ? perfilcon.perfil_contable_documento.id : 0; modelo.CountablenNameProfile = perfilcon != null ? perfilcon.perfil_contable_documento.descripcion : ""; modelo.ReceiptValue = 0; modelo.Value = 0; /*Tipo Cartera*/ var listC = (from t in context.Tipos_Cartera select new { t.id, nombre = t.descripcion }).ToList(); List <SelectListItem> lista = new List <SelectListItem>(); foreach (var item in listC) { lista.Add(new SelectListItem { Text = item.nombre, Value = item.id.ToString() }); } ViewBag.cartera = lista; }
public ActionResult crearMatricula(int id, int tramitador_id, int cartera, string placa, int valor, string fechamatricula, string observacion, encab_documento encabezado)/*cartera,tramitador*/ { placaVh(id, placa, fechamatricula); string mensaje = ""; int iduser = Convert.ToInt32(Session["user_usuarioid"]); icb_tpeventos tpevento = context.icb_tpeventos.Where(a => a.tpevento_nombre == "Matriculado").FirstOrDefault(); vw_pendientesAlistamiento x = context.vw_pendientesAlistamiento.FirstOrDefault(t => t.id == id); icb_terceros tercero = context.icb_terceros.Where(b => b.doc_tercero == x.doc_tercero).FirstOrDefault(); icb_vehiculo vh = context.icb_vehiculo.Where(c => c.plan_mayor == x.plan_mayor).FirstOrDefault(); icb_vehiculo_eventos ve = new icb_vehiculo_eventos { planmayor = x.planmayor, eventofec_creacion = DateTime.Now, eventouserid_creacion = iduser, evento_nombre = "Matriculado", evento_estado = true, bodega_id = x.bodega, id_tpevento = tpevento.tpevento_id, fechaevento = DateTime.Now, terceroid = tercero.tercero_id, placa = placa, vin = vh.vin, evento_observacion = observacion, cartera_id = cartera,/*cartera*/ }; if (encabezado.idencabezado != 0) { ve.idencabezado = encabezado.idencabezado; encabezado.id_pedido_vehiculo = id; vh.tramitador_id = tramitador_id;/*tramitador*/ } context.icb_vehiculo_eventos.Add(ve); try { context.SaveChanges(); } catch (DbEntityValidationException e) { mensaje = e.Message; } return(Json(valor, JsonRequestBehavior.AllowGet)); }
public ActionResult Create(encab_documento encabezado, int?menu) { listas(); string lista = Request["lista"]; int datos = Convert.ToInt32(lista); //consecutivo int grupo = context.grupoconsecutivos .FirstOrDefault(x => x.documento_id == encabezado.tipo && x.bodega_id == encabezado.bodega).grupo; DocumentoPorBodegaController doc = new DocumentoPorBodegaController(); long consecutivo = doc.BuscarConsecutivo(grupo); encabezado.numero = consecutivo; encabezado.impoconsumo = 0; encabezado.fec_creacion = DateTime.Now; encabezado.userid_creacion = Convert.ToInt32(Session["user_usuarioid"]); encabezado.estado = true; context.encab_documento.Add(encabezado); context.SaveChanges(); int prueba = encabezado.idencabezado; int id_encabezado = context.encab_documento.OrderByDescending(x => x.idencabezado).FirstOrDefault() .idencabezado; int total = Convert.ToInt32(lista); for (int i = 1; i <= total; i++) { if (!string.IsNullOrEmpty(Request["cuenta_" + i])) { mov_contable mov = new mov_contable { id_encab = id_encabezado, seq = i, idparametronombre = 19, cuenta = Convert.ToInt32(Request["cuenta_" + i]) }; if (!string.IsNullOrEmpty(Request["centro_" + i])) { mov.centro = Convert.ToInt32(Request["centro_" + i]); } else { var centroCosto = (from c in context.centro_costo where c.pre_centcst == "0" select new { c.centcst_id }).FirstOrDefault(); mov.centro = Convert.ToInt32(centroCosto.centcst_id); } if (!string.IsNullOrEmpty(Request["nit_" + i])) { mov.nit = Convert.ToInt32(Request["nit_" + i]); } else { var nitCero = (from t in context.icb_terceros where t.doc_tercero == "0" select new { t.tercero_id }).FirstOrDefault(); mov.nit = Convert.ToInt32(nitCero.tercero_id); } if (!string.IsNullOrEmpty(Request["nitAdmin_" + i])) { mov.idterceroadmin = Convert.ToInt32(Request["nitAdmin_" + i]); } mov.fec = encabezado.fecha; if (!string.IsNullOrEmpty(Request["debito_" + i])) { mov.debito = Convert.ToDecimal(Request["debito_" + i]); } if (!string.IsNullOrEmpty(Request["credito_" + i])) { mov.credito = Convert.ToDecimal(Request["credito_" + i]); } if (!string.IsNullOrEmpty(Request["base_" + i])) { mov.basecontable = Convert.ToDecimal(Request["debitoNiff_" + i]); } if (!string.IsNullOrEmpty(Request["debitoNiff_" + i])) { mov.debitoniif = Convert.ToDecimal(Request["debitoNiff_" + i]); } if (!string.IsNullOrEmpty(Request["creditoNiff_" + i])) { mov.creditoniif = Convert.ToDecimal(Request["creditoNiff_" + i]); } mov.detalle = Request["detalle_" + i]; mov.fec_creacion = DateTime.Now; mov.userid_creacion = Convert.ToInt32(Session["user_usuarioid"]); mov.estado = true; context.mov_contable.Add(mov); context.SaveChanges(); } } DocumentoPorBodegaController conse = new DocumentoPorBodegaController(); doc.ActualizarConsecutivo(grupo, consecutivo); TempData["mensaje"] = "Registro creado correctamente"; context.SaveChanges(); return(RedirectToAction("Create", new { id = encabezado.idencabezado, menu })); }
public ActionResult Edit(encab_documento encabezado, int?menu) { listas(); string lista = Request["lista"]; int datos = Convert.ToInt32(lista); encabezado.impoconsumo = 0; encabezado.fec_actualizacion = DateTime.Now; encabezado.user_idactualizacion = Convert.ToInt32(Session["user_usuarioid"]); encabezado.estado = true; context.Entry(encabezado).State = EntityState.Modified; string Query = "Delete from mov_contable where id_encab =" + encabezado.idencabezado; context.Database.ExecuteSqlCommand(Query); int total = Convert.ToInt32(lista); for (int i = 1; i <= total; i++) { if (!string.IsNullOrEmpty(Request["cuenta_" + i])) { mov_contable mov = new mov_contable { id_encab = encabezado.idencabezado, seq = i, idparametronombre = 19, cuenta = Convert.ToInt32(Request["cuenta_" + i]) }; if (!string.IsNullOrEmpty(Request["centro_" + i])) { mov.centro = Convert.ToInt32(Request["centro_" + i]); } if (!string.IsNullOrEmpty(Request["nit_" + i])) { mov.nit = Convert.ToInt32(Request["nit_" + i]); } if (!string.IsNullOrEmpty(Request["nitAdmin_" + i])) { mov.idterceroadmin = Convert.ToInt32(Request["nitAdmin_" + i]); } mov.fec = encabezado.fecha; if (!string.IsNullOrEmpty(Request["debito_" + i])) { string f = Request["debito_" + i]; mov.debito = Convert.ToDecimal(Request["debito_" + i]); } if (!string.IsNullOrEmpty(Request["credito_" + i])) { mov.credito = Convert.ToDecimal(Request["credito_" + i]); } if (!string.IsNullOrEmpty(Request["base_" + i])) { mov.basecontable = Convert.ToInt32(Request["debitoNiff_" + i]); } if (!string.IsNullOrEmpty(Request["debitoNiff_" + i])) { mov.debitoniif = Convert.ToDecimal(Request["debitoNiff_" + i]); } if (!string.IsNullOrEmpty(Request["creditoNiff_" + i])) { mov.creditoniif = Convert.ToDecimal(Request["creditoNiff_" + i]); } mov.detalle = Request["detalle_" + i]; mov.fec_creacion = encabezado.fec_creacion; mov.userid_creacion = encabezado.userid_creacion; mov.estado = true; context.mov_contable.Add(mov); } } context.SaveChanges(); TempData["mensaje"] = "Registro editado correctamente"; BuscarFavoritos(menu); return(View(encabezado)); }
public ActionResult Create(documentos_posfechados modelo, int?menu) { int idtipodoc = Convert.ToInt32(Request["idtipodoc"]); ViewBag.txtNitCliente = Request["txtNitCliente"]; ViewBag.perfilSeleccionado = Convert.ToInt32(Request["idperfil"]); icb_sysparameter buscarParametroTpDoc = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P49"); string idTipoDocPosfechados = buscarParametroTpDoc != null ? buscarParametroTpDoc.syspar_value : "0"; int idDocPosfechados = Convert.ToInt32(idTipoDocPosfechados); if (ModelState.IsValid) { long numeroConsecutivo = 0; int anioActual = DateTime.Now.Year; int mesActual = DateTime.Now.Month; int bodegaActual = Convert.ToInt32(Session["user_bodega"]); icb_doc_consecutivos numeroConsecutivoAux = context.icb_doc_consecutivos.OrderByDescending(x => x.doccons_ano) .FirstOrDefault(x => x.doccons_idtpdoc == idtipodoc && x.doccons_bodega == bodegaActual); grupoconsecutivos grupoConsecutivo = context.grupoconsecutivos.FirstOrDefault(x => x.documento_id == idtipodoc && x.bodega_id == bodegaActual); if (numeroConsecutivoAux != null) { if (numeroConsecutivoAux.doccons_requiere_mes) { if (numeroConsecutivoAux.doccons_mes != mesActual) { // Requiere mes pero no hay consecutivo para el anio actual TempData["mensaje_error"] = "No existe un numero consecutivo asignado para este tipo de documento en el mes actual que es requerido"; ViewBag.banco = new SelectList(context.bancos, "id", "Descripcion", modelo.banco); ViewBag.idtipodoc = new SelectList(context.tp_doc_registros.Where(x => x.tipo == idDocPosfechados), "tpdoc_id", "tpdoc_nombre", idtipodoc); TempData["modelo_invalido"] = "modelo_invalido"; BuscarFavoritos(menu); return(View(modelo)); } //requiereAnio = true; numeroConsecutivo = numeroConsecutivoAux.doccons_siguiente; } else if (numeroConsecutivoAux.doccons_requiere_anio) { if (numeroConsecutivoAux.doccons_ano != anioActual) { // Requiere anio pero no hay consecutivo para el anio actual TempData["mensaje_error"] = "No existe un numero consecutivo asignado para este tipo de documento en el año actual que es requerido"; ViewBag.banco = new SelectList(context.bancos, "id", "Descripcion", modelo.banco); ViewBag.idtipodoc = new SelectList(context.tp_doc_registros.Where(x => x.tipo == idDocPosfechados), "tpdoc_id", "tpdoc_nombre", idtipodoc); TempData["modelo_invalido"] = "modelo_invalido"; BuscarFavoritos(menu); return(View(modelo)); } numeroConsecutivo = numeroConsecutivoAux.doccons_siguiente; } else { numeroConsecutivo = numeroConsecutivoAux.doccons_siguiente; } } else { TempData["mensaje_error"] = "No existe un numero consecutivo asignado para este tipo de documento"; ViewBag.banco = new SelectList(context.bancos, "id", "Descripcion", modelo.banco); ViewBag.idtipodoc = new SelectList(context.tp_doc_registros.Where(x => x.tipo == idDocPosfechados), "tpdoc_id", "tpdoc_nombre", idtipodoc); TempData["modelo_invalido"] = "modelo_invalido"; BuscarFavoritos(menu); return(View(modelo)); } // Si llega hasta aqui significa que si existe un numero consecutivo para el documento en la bodega actual. var parametrosCuentasVerificar = (from perfil in context.perfil_cuentas_documento join nombreParametro in context.paramcontablenombres on perfil.id_nombre_parametro equals nombreParametro.id join cuenta in context.cuenta_puc on perfil.cuenta equals cuenta.cntpuc_id where perfil.id_perfil == modelo.idperfil select new { perfil.id, perfil.id_nombre_parametro, perfil.cuenta, perfil.centro, perfil.id_perfil, nombreParametro.descripcion_parametro, cuenta.cntpuc_numero }).ToList(); List <DocumentoDescuadradoModel> listaDescuadrados = new List <DocumentoDescuadradoModel>(); decimal calcularDebito = 0; decimal calcularCredito = 0; foreach (var parametro in parametrosCuentasVerificar) { //var tipoParametro = 0; cuenta_puc buscarCuenta = context.cuenta_puc.FirstOrDefault(x => x.cntpuc_id == parametro.cuenta); if (buscarCuenta != null) { if (parametro.id_nombre_parametro == 15) { if (buscarCuenta.mov_cnt.ToUpper().Contains("DEBITO")) { calcularDebito += modelo.Valor; listaDescuadrados.Add(new DocumentoDescuadradoModel { NumeroCuenta = parametro.cntpuc_numero, DescripcionParametro = parametro.descripcion_parametro, ValorDebito = modelo.Valor, ValorCredito = 0 }); } if (buscarCuenta.mov_cnt.ToUpper().Contains("CREDITO")) { calcularCredito += modelo.Valor; listaDescuadrados.Add(new DocumentoDescuadradoModel { NumeroCuenta = parametro.cntpuc_numero, DescripcionParametro = parametro.descripcion_parametro, ValorDebito = 0, ValorCredito = modelo.Valor }); } } else { listaDescuadrados.Add(new DocumentoDescuadradoModel { NumeroCuenta = parametro.cntpuc_numero, DescripcionParametro = parametro.descripcion_parametro, ValorDebito = 0, ValorCredito = 0 }); TempData["documento_descuadrado"] = "El documento no tiene los movimientos calculados correctamente"; ViewBag.documentoDescuadrado = listaDescuadrados; ViewBag.calculoDebito = calcularDebito; ViewBag.calculoCredito = calcularCredito; ViewBag.banco = new SelectList(context.bancos, "id", "Descripcion", modelo.banco); ViewBag.idtipodoc = new SelectList(context.tp_doc_registros.Where(x => x.tipo == idDocPosfechados), "tpdoc_id", "tpdoc_nombre", idtipodoc); TempData["modelo_invalido"] = "modelo_invalido"; BuscarFavoritos(menu); return(View(modelo)); } } } if (calcularCredito != calcularDebito) { TempData["documento_descuadrado"] = "El documento no tiene los movimientos calculados correctamente"; ViewBag.documentoDescuadrado = listaDescuadrados; ViewBag.calculoDebito = calcularDebito; ViewBag.calculoCredito = calcularCredito; ViewBag.banco = new SelectList(context.bancos, "id", "Descripcion", modelo.banco); ViewBag.idtipodoc = new SelectList(context.tp_doc_registros.Where(x => x.tipo == idDocPosfechados), "tpdoc_id", "tpdoc_nombre", idtipodoc); TempData["modelo_invalido"] = "modelo_invalido"; BuscarFavoritos(menu); return(View(modelo)); } // Fin de la validacion para el calculo del debito y credito del movimiento contable encab_documento crearEncabezado = new encab_documento { tipo = idtipodoc, bodega = bodegaActual, nit = modelo.idtercero, numero = numeroConsecutivo, fecha = DateTime.Now, fec_creacion = DateTime.Now, valor_total = modelo.Valor, impoconsumo = 0 }; context.encab_documento.Add(crearEncabezado); int save = context.SaveChanges(); if (save > 0) { encab_documento buscarUltimoEncabezado = context.encab_documento.OrderByDescending(x => x.idencabezado).FirstOrDefault(); modelo.idencabdoc = buscarUltimoEncabezado != null ? buscarUltimoEncabezado.idencabezado : 0; context.documentos_posfechados.Add(modelo); List <perfil_cuentas_documento> parametrosCuentas = context.perfil_cuentas_documento.Where(x => x.id_perfil == modelo.idperfil) .ToList(); centro_costo centroValorCero = context.centro_costo.FirstOrDefault(x => x.pre_centcst == "0"); int idCentroCero = centroValorCero != null?Convert.ToInt32(centroValorCero.centcst_id) : 0; icb_terceros terceroValorCero = context.icb_terceros.FirstOrDefault(x => x.doc_tercero == "0"); int idTerceroCero = centroValorCero != null?Convert.ToInt32(terceroValorCero.tercero_id) : 0; int secuencia = 1; foreach (perfil_cuentas_documento parametro in parametrosCuentas) { decimal valorCredito = 0; decimal valorDebito = 0; cuenta_puc buscarCuenta = context.cuenta_puc.FirstOrDefault(x => x.cntpuc_id == parametro.cuenta); if (buscarCuenta != null) { if (parametro.id_nombre_parametro == 15) { valorCredito = modelo.Valor; valorDebito = modelo.Valor; } mov_contable movNuevo = new mov_contable { id_encab = buscarUltimoEncabezado != null ? buscarUltimoEncabezado.idencabezado : 0, fec_creacion = DateTime.Now, userid_creacion = Convert.ToInt32(Session["user_usuarioid"]), idparametronombre = parametro.id_nombre_parametro, cuenta = parametro.cuenta, centro = parametro.centro, fec = DateTime.Now, seq = secuencia }; if (buscarCuenta.concepniff == 1) { if (buscarCuenta.mov_cnt.ToUpper().Contains("DEBITO")) { movNuevo.debitoniif = valorDebito; movNuevo.debito = valorDebito; } if (buscarCuenta.mov_cnt.ToUpper().Contains("CREDITO")) { movNuevo.credito = valorCredito; movNuevo.creditoniif = valorCredito; } } if (buscarCuenta.concepniff == 4) { if (buscarCuenta.mov_cnt.ToUpper().Contains("DEBITO")) { movNuevo.debitoniif = valorDebito; } if (buscarCuenta.mov_cnt.ToUpper().Contains("CREDITO")) { movNuevo.creditoniif = valorCredito; } } if (buscarCuenta.concepniff == 5) { if (buscarCuenta.mov_cnt.ToUpper().Contains("DEBITO")) { movNuevo.debito = valorDebito; } if (buscarCuenta.mov_cnt.ToUpper().Contains("CREDITO")) { movNuevo.credito = valorCredito; } } if (buscarCuenta.manejabase) { movNuevo.basecontable = modelo.Valor; } if (buscarCuenta.tercero) { movNuevo.nit = modelo.idtercero; } if (buscarCuenta.documeto) { movNuevo.documento = buscarUltimoEncabezado.numero.ToString(); } movNuevo.detalle = "Cheque posfechado " + buscarUltimoEncabezado.documento; secuencia++; cuentas_valores buscar_cuentas_valores = context.cuentas_valores.FirstOrDefault(x => x.centro == parametro.centro && x.cuenta == parametro.cuenta && x.nit == movNuevo.nit); DateTime fechaHoy = DateTime.Now; if (buscar_cuentas_valores != null) { buscar_cuentas_valores.ano = fechaHoy.Year; buscar_cuentas_valores.mes = fechaHoy.Month; buscar_cuentas_valores.cuenta = movNuevo.cuenta; buscar_cuentas_valores.centro = movNuevo.centro; //buscar_cuentas_valores.nit = movNuevo.nit ?? idTerceroCero; buscar_cuentas_valores.nit = movNuevo.nit; buscar_cuentas_valores.debito += movNuevo.debito; buscar_cuentas_valores.credito += movNuevo.credito; buscar_cuentas_valores.debitoniff += movNuevo.debitoniif; buscar_cuentas_valores.creditoniff += movNuevo.creditoniif; context.Entry(buscar_cuentas_valores).State = EntityState.Modified; } else { cuentas_valores crearCuentaValor = new cuentas_valores { ano = fechaHoy.Year, mes = fechaHoy.Month, cuenta = movNuevo.cuenta, centro = movNuevo.centro, //crearCuentaValor.nit = movNuevo.nit ?? idTerceroCero; nit = movNuevo.nit, debito = movNuevo.debito, credito = movNuevo.credito, debitoniff = movNuevo.debitoniif, creditoniff = movNuevo.creditoniif }; context.cuentas_valores.Add(crearCuentaValor); } context.mov_contable.Add(movNuevo); } } bool guardarCuenta = context.SaveChanges() > 0; if (guardarCuenta) { int grupoId = grupoConsecutivo != null ? grupoConsecutivo.grupo : 0; List <icb_doc_consecutivos> gruposConsecutivos = context.icb_doc_consecutivos .Where(x => x.doccons_grupoconsecutivo == grupoId).ToList(); foreach (icb_doc_consecutivos grupo in gruposConsecutivos) { grupo.doccons_siguiente = grupo.doccons_siguiente + 1; context.Entry(grupo).State = EntityState.Modified; } context.SaveChanges(); TempData["mensaje"] = "La creacion del cheque posfechado se ha guardado exitosamente."; ViewBag.banco = new SelectList(context.bancos, "id", "Descripcion", modelo.banco); ViewBag.idtipodoc = new SelectList(context.tp_doc_registros.Where(x => x.tipo == idDocPosfechados), "tpdoc_id", "tpdoc_nombre", idtipodoc); return(RedirectToAction("Create", "chequePosfechado", new { menu })); } } } ViewBag.banco = new SelectList(context.bancos, "id", "Descripcion", modelo.banco); ViewBag.idtipodoc = new SelectList(context.tp_doc_registros.Where(x => x.tipo == idDocPosfechados), "tpdoc_id", "tpdoc_nombre", idtipodoc); TempData["modelo_invalido"] = "modelo_invalido"; BuscarFavoritos(menu); return(View(modelo)); }
public ActionResult crearMatriculaND(int id, string placa, string observacion, int valor, string fechamatricula, int tipodoc, string bodega, string nit, string asesor, string perfilc, int tramitador_id, int cartera) { int response = 0; int idbodega = context.bodega_concesionario.Where(x => x.bodccs_nombre == bodega).Select(z => z.id) .FirstOrDefault(); int tpdocumento = context.tp_doc_registros.Where(x => x.tpdoc_id == tipodoc).Select(z => z.tpdoc_id) .FirstOrDefault(); int terceroid = context.icb_terceros.Where(x => x.doc_tercero == nit).Select(z => z.tercero_id) .FirstOrDefault(); int?idasesor = context.vw_pendientesEntrega.Where(x => x.asesor == asesor).Select(z => z.idAsesor) .FirstOrDefault(); int idperfilc = context.perfil_contable_documento.Where(x => x.tipo == tpdocumento).Select(z => z.id) .FirstOrDefault(); if (tramitador_id == 0 && cartera == 0) { tramitador_id = Convert.ToInt32(Session["user_usuarioid"]); } if (ModelState.IsValid) { //consecutivo grupoconsecutivos grupo = context.grupoconsecutivos.FirstOrDefault(x => x.documento_id == tpdocumento && x.bodega_id == idbodega); if (grupo != null) { DocumentoPorBodegaController doc = new DocumentoPorBodegaController(); long consecutivo = doc.BuscarConsecutivo(grupo.grupo); //Encabezado documento encab_documento encabezado = new encab_documento { tipo = tpdocumento, numero = consecutivo, nit = terceroid, fecha = DateTime.Now, valor_total = Convert.ToDecimal(valor), iva = Convert.ToDecimal(0), retencion = Convert.ToDecimal(0), retencion_ica = Convert.ToDecimal(0), retencion_iva = Convert.ToDecimal(0), vendedor = idasesor, documento = nit, valor_mercancia = Convert.ToDecimal(valor), userid_creacion = Convert.ToInt32(Session["user_usuarioid"]), fec_creacion = DateTime.Now, porcen_retencion = float.Parse("0", CultureInfo.InvariantCulture), porcen_reteiva = float.Parse("0", CultureInfo.InvariantCulture), porcen_retica = float.Parse("0", CultureInfo.InvariantCulture), perfilcontable = idperfilc, bodega = idbodega, id_pedido_vehiculo = id }; context.encab_documento.Add(encabezado); //movimiento contable //buscamos en perfil cuenta documento, por medio del perfil seleccionado var parametrosCuentasVerificar = (from perfil in context.perfil_cuentas_documento join nombreParametro in context.paramcontablenombres on perfil.id_nombre_parametro equals nombreParametro.id join cuenta in context.cuenta_puc on perfil.cuenta equals cuenta.cntpuc_id where perfil.id_perfil == idperfilc select new { perfil.id, perfil.id_nombre_parametro, perfil.cuenta, perfil.centro, perfil.id_perfil, nombreParametro.descripcion_parametro, cuenta.cntpuc_numero }).ToList(); int secuencia = 1; decimal totalDebitos = 0; decimal totalCreditos = 0; List <DocumentoDescuadradoModel> listaDescuadrados = new List <DocumentoDescuadradoModel>(); List <cuentas_valores> ids_cuentas_valores = new List <cuentas_valores>(); centro_costo centroValorCero = context.centro_costo.FirstOrDefault(x => x.pre_centcst == "0"); int idCentroCero = centroValorCero != null?Convert.ToInt32(centroValorCero.centcst_id) : 0; foreach (var parametro in parametrosCuentasVerificar) { string descripcionParametro = context.paramcontablenombres .FirstOrDefault(x => x.id == parametro.id_nombre_parametro).descripcion_parametro; cuenta_puc buscarCuenta = context.cuenta_puc.FirstOrDefault(x => x.cntpuc_id == parametro.cuenta); if (buscarCuenta != null) { if (parametro.id_nombre_parametro == 2 && Convert.ToDecimal(0) != 0 || parametro.id_nombre_parametro == 3 && Convert.ToDecimal(0) != 0 || parametro.id_nombre_parametro == 4 && Convert.ToDecimal(0) != 0 || parametro.id_nombre_parametro == 5 && Convert.ToDecimal(0) != 0 || parametro.id_nombre_parametro == 10 || parametro.id_nombre_parametro == 11) { mov_contable movNuevo = new mov_contable { id_encab = 0, seq = secuencia, idparametronombre = parametro.id_nombre_parametro, cuenta = parametro.cuenta, centro = parametro.centro, fec = DateTime.Now, fec_creacion = DateTime.Now, userid_creacion = Convert.ToInt32(Session["user_usuarioid"]) }; // movNuevo.detalle = ndm.nota1; cuenta_puc info = context.cuenta_puc.Where(i => i.cntpuc_id == parametro.cuenta) .FirstOrDefault(); if (info.tercero) { movNuevo.nit = terceroid; } else { icb_terceros tercero = context.icb_terceros.Where(t => t.doc_tercero == "0") .FirstOrDefault(); movNuevo.nit = tercero.tercero_id; } // las siguientes validaciones se hacen dependiendo de la cuenta que esta moviendo la nota credito, para guardar la informacion acorde if (parametro.id_nombre_parametro == 10) { if (info.manejabase) { movNuevo.basecontable = Convert.ToDecimal(valor); } else { movNuevo.basecontable = 0; } if (info.documeto) { movNuevo.documento = encabezado.documento; } if (buscarCuenta.concepniff == 1) { movNuevo.credito = 0; movNuevo.debito = Convert.ToDecimal(valor); movNuevo.creditoniif = 0; movNuevo.debitoniif = Convert.ToDecimal(valor); } if (buscarCuenta.concepniff == 4) { movNuevo.creditoniif = 0; movNuevo.debitoniif = Convert.ToDecimal(valor); } if (buscarCuenta.concepniff == 5) { movNuevo.credito = 0; movNuevo.debito = Convert.ToDecimal(valor); } } if (parametro.id_nombre_parametro == 11) { if (info.manejabase) { movNuevo.basecontable = Convert.ToDecimal(valor); } else { movNuevo.basecontable = 0; } if (info.documeto) { movNuevo.documento = encabezado.documento; } if (buscarCuenta.concepniff == 1) { movNuevo.credito = Convert.ToDecimal(valor); movNuevo.debito = 0; movNuevo.creditoniif = Convert.ToDecimal(valor); movNuevo.debitoniif = 0; } if (buscarCuenta.concepniff == 4) { movNuevo.creditoniif = Convert.ToDecimal(valor); movNuevo.debitoniif = 0; } if (buscarCuenta.concepniff == 5) { movNuevo.credito = Convert.ToDecimal(valor); movNuevo.debito = 0; } } if (parametro.id_nombre_parametro == 2) { if (info.manejabase) { movNuevo.basecontable = Convert.ToDecimal(valor); } else { movNuevo.basecontable = 0; } if (info.documeto) { movNuevo.documento = encabezado.documento; } if (buscarCuenta.concepniff == 1) { movNuevo.credito = Convert.ToDecimal(encabezado.iva); movNuevo.debito = 0; movNuevo.creditoniif = Convert.ToDecimal(encabezado.iva); movNuevo.debitoniif = 0; } if (buscarCuenta.concepniff == 4) { movNuevo.creditoniif = Convert.ToDecimal(encabezado.iva); movNuevo.debitoniif = 0; } if (buscarCuenta.concepniff == 5) { movNuevo.credito = Convert.ToDecimal(encabezado.iva); movNuevo.debito = 0; } } if (parametro.id_nombre_parametro == 3 && Convert.ToDecimal(encabezado.retencion) != 0) { if (info.manejabase) { movNuevo.basecontable = Convert.ToDecimal(valor); } else { movNuevo.basecontable = 0; } if (info.documeto) { movNuevo.documento = encabezado.documento; } if (buscarCuenta.concepniff == 1) { movNuevo.credito = 0; movNuevo.debito = Convert.ToDecimal(encabezado.retencion); movNuevo.creditoniif = 0; movNuevo.debitoniif = Convert.ToDecimal(encabezado.retencion); } if (buscarCuenta.concepniff == 4) { movNuevo.creditoniif = 0; movNuevo.debitoniif = Convert.ToDecimal(encabezado.retencion); } if (buscarCuenta.concepniff == 5) { movNuevo.credito = 0; movNuevo.debito = Convert.ToDecimal(encabezado.retencion); } } if (parametro.id_nombre_parametro == 4) { if (info.manejabase) { movNuevo.basecontable = Convert.ToDecimal(encabezado.iva); } else { movNuevo.basecontable = 0; } if (info.documeto) { movNuevo.documento = encabezado.documento; } if (buscarCuenta.concepniff == 1) { movNuevo.credito = 0; movNuevo.debito = Convert.ToDecimal(encabezado.retencion_iva); movNuevo.creditoniif = 0; movNuevo.debitoniif = Convert.ToDecimal(encabezado.retencion_iva); } if (buscarCuenta.concepniff == 4) { movNuevo.creditoniif = 0; movNuevo.debitoniif = Convert.ToDecimal(encabezado.retencion_iva); } if (buscarCuenta.concepniff == 5) { movNuevo.credito = 0; movNuevo.debito = Convert.ToDecimal(encabezado.retencion_iva); } } if (parametro.id_nombre_parametro == 5) { if (info.manejabase) { movNuevo.basecontable = Convert.ToDecimal(valor); } else { movNuevo.basecontable = 0; } if (info.documeto) { movNuevo.documento = encabezado.documento; } if (buscarCuenta.concepniff == 1) { movNuevo.credito = 0; movNuevo.debito = Convert.ToDecimal(encabezado.retencion_ica); movNuevo.creditoniif = 0; movNuevo.debitoniif = Convert.ToDecimal(encabezado.retencion_ica); } if (buscarCuenta.concepniff == 4) { movNuevo.creditoniif = 0; movNuevo.debitoniif = Convert.ToDecimal(encabezado.retencion_ica); } if (buscarCuenta.concepniff == 5) { movNuevo.credito = 0; movNuevo.debito = Convert.ToDecimal(encabezado.retencion_ica); } } secuencia++; //Cuentas valores cuentas_valores buscar_cuentas_valores = context.cuentas_valores.FirstOrDefault(x => x.centro == parametro.centro && x.cuenta == parametro.cuenta && x.nit == movNuevo.nit); if (buscar_cuentas_valores != null) { buscar_cuentas_valores.debito += movNuevo.debito; buscar_cuentas_valores.credito += movNuevo.credito; buscar_cuentas_valores.debitoniff += movNuevo.debitoniif; buscar_cuentas_valores.creditoniff += movNuevo.creditoniif; context.Entry(buscar_cuentas_valores).State = EntityState.Modified; } else { DateTime fechaHoy = DateTime.Now; cuentas_valores crearCuentaValor = new cuentas_valores { ano = fechaHoy.Year, mes = fechaHoy.Month, cuenta = movNuevo.cuenta, centro = movNuevo.centro, nit = movNuevo.nit, debito = movNuevo.debito, credito = movNuevo.credito, debitoniff = movNuevo.debitoniif, creditoniff = movNuevo.creditoniif }; context.cuentas_valores.Add(crearCuentaValor); } context.mov_contable.Add(movNuevo); totalCreditos += movNuevo.credito; totalDebitos += movNuevo.debito; listaDescuadrados.Add(new DocumentoDescuadradoModel { NumeroCuenta = "(" + info.cntpuc_numero + ")" + info.cntpuc_descp, DescripcionParametro = descripcionParametro, ValorDebito = movNuevo.debito, ValorCredito = movNuevo.credito }); } } } if (totalDebitos != totalCreditos) { response = 0; } else { context.SaveChanges(); DocumentoPorBodegaController conse = new DocumentoPorBodegaController(); doc.ActualizarConsecutivo(grupo.grupo, consecutivo); crearMatricula(id, tramitador_id, cartera, placa, valor, fechamatricula, observacion, encabezado); response = 1; } } else { response = 0; } } else { List <ModelErrorCollection> errors = ModelState.Select(x => x.Value.Errors) .Where(y => y.Count > 0) .ToList(); response = 0; } return(Json(response, JsonRequestBehavior.AllowGet)); }