public ActionResult Modificar(ct_cbtecble_Info model) { model.lst_ct_cbtecble_det = list_ct_cbtecble_det.get_list(model.IdTransaccionSession); if (!validar(model, ref mensaje)) { ViewBag.MostrarBoton = true; cargar_combos(model.IdEmpresa); ViewBag.mensaje = mensaje; return(View(model)); } model.IdUsuarioUltModi = SessionFixed.IdUsuario; if (!bus_comprobante.modificarDB(model)) { ViewBag.MostrarBoton = true; cargar_combos(model.IdEmpresa); return(View(model)); } return(RedirectToAction("Consultar", new { IdEmpresa = model.IdEmpresa, IdTipoCbte = model.IdTipoCbte, IdCbteCble = model.IdCbteCble, Exito = true })); }
private ct_cbtecble_Info get_armar_diario_provisiones(ro_rol_Info info, int TipoComprobante, int IdSucursal) { try { ct_cbtecble_Info info_diario = new ct_cbtecble_Info(); info_diario.lst_ct_cbtecble_det = (from q in info.lst_provisiones where q.IdSucursal == IdSucursal group q by new { q.IdCtaCble } into g select new ct_cbtecble_det_Info { IdCtaCble = g.Key.IdCtaCble, dc_Valor = g.Sum(q => q.dc_Valor) }).ToList(); info_diario.lst_ct_cbtecble_det = info_diario.lst_ct_cbtecble_det.Where(q => q.dc_Valor != 0).ToList(); //info_diario.lst_ct_cbtecble_det = info.lst_provisiones; info_diario.IdEmpresa = info.IdEmpresa; info_diario.IdTipoCbte = TipoComprobante; info_diario.cb_Fecha = info.Fechacontabilizacion; info_diario.IdPeriodo = Convert.ToInt32(info.Fechacontabilizacion.Year.ToString() + info.Fechacontabilizacion.Month.ToString().PadLeft(2, '0')); //REVISA CARLOS FALTA IDSUCURSAL info_diario.cb_Observacion = "Contabilización rol general del periodo " + info.IdPeriodo.ToString(); info_diario.cb_Valor = info.lst_provisiones.Where(q => q.IdSucursal == IdSucursal).Sum(v => v.dc_Valor); info_diario.IdUsuario = info.UsuarioIngresa; info_diario.cb_FechaTransac = DateTime.Now; info_diario.cb_Estado = "A"; info_diario.IdUsuario = info.UsuarioIngresa; return(info_diario); } catch (Exception) { throw; } }
public ActionResult Index(ImportacionDiarios_Info model) { model.ListaTipoDocumento = ImportacionDiarios_Lista.get_list(model.IdTransaccionSession); ct_cbtecble_Info model_comprobante = new ct_cbtecble_Info(); model_comprobante.IdEmpresa = model.IdEmpresa; model_comprobante.IdTipoCbte = model.IdTipoCbte; model_comprobante.IdSucursal = model.IdSucursal; model_comprobante.CodCbteCble = model.Codigo; model_comprobante.cb_Fecha = model.cb_Fecha; model_comprobante.cb_Valor = Convert.ToDouble(model.ListaTipoDocumento.Sum(q => q.dc_ValorDebe)); model_comprobante.cb_Observacion = model.cb_Observacion; model_comprobante.lst_ct_cbtecble_det = new List <ct_cbtecble_det_Info>(); model_comprobante.IdUsuario = SessionFixed.IdUsuario; foreach (var item in model.ListaTipoDocumento) { ct_cbtecble_det_Info lista_det = new ct_cbtecble_det_Info(); lista_det.dc_Valor = Convert.ToDouble(item.dc_Valor); lista_det.dc_Observacion = item.Detalle; lista_det.IdCtaCble = item.IdCtaCble; lista_det.dc_para_conciliar = false; model_comprobante.lst_ct_cbtecble_det.Add(lista_det); } if (!validar(model_comprobante, ref mensaje)) { cargar_filtros(model.IdEmpresa); ViewBag.mensaje = mensaje; return(View(model)); } if (!bus_comprobante.guardarDB(model_comprobante)) { cargar_filtros(model.IdEmpresa); return(View(model)); } return(RedirectToAction("Index")); }
public ActionResult Anular(int IdEmpresa = 0, int IdTipoCbte = 0, decimal IdCbteCble = 0) { #region Validar Session if (string.IsNullOrEmpty(SessionFixed.IdTransaccionSession)) { return(RedirectToAction("Login", new { Area = "", Controller = "Account" })); } SessionFixed.IdTransaccionSession = (Convert.ToDecimal(SessionFixed.IdTransaccionSession) + 1).ToString(); SessionFixed.IdTransaccionSessionActual = SessionFixed.IdTransaccionSession; #endregion #region Permisos seg_Menu_x_Empresa_x_Usuario_Info info = bus_permisos.get_list_menu_accion(Convert.ToInt32(SessionFixed.IdEmpresa), SessionFixed.IdUsuario, "Contabilidad", "ComprobanteContable", "Index"); if (!info.Anular) { return(RedirectToAction("Index")); } #endregion ct_cbtecble_Info model = bus_comprobante.get_info(IdEmpresa, IdTipoCbte, IdCbteCble); if (model == null) { return(RedirectToAction("Index")); } model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual); model.lst_ct_cbtecble_det = bus_comprobante_detalle.get_list(IdEmpresa, IdTipoCbte, IdCbteCble); list_ct_cbtecble_det.set_list(model.lst_ct_cbtecble_det, model.IdTransaccionSession); #region Validacion Periodo ViewBag.MostrarBoton = true; if (!bus_periodo.ValidarFechaTransaccion(IdEmpresa, model.cb_Fecha, cl_enumeradores.eModulo.CONTA, model.IdSucursal, ref mensaje)) { ViewBag.mensaje = mensaje; ViewBag.MostrarBoton = false; } #endregion cargar_combos(model.IdEmpresa); return(View(model)); }
public ActionResult Anular(int IdEmpresa = 0, int IdTipoCbte = 0, decimal IdCbteCble = 0) { #region Validar Session if (string.IsNullOrEmpty(SessionFixed.IdTransaccionSession)) { return(RedirectToAction("Login", new { Area = "", Controller = "Account" })); } SessionFixed.IdTransaccionSession = (Convert.ToDecimal(SessionFixed.IdTransaccionSession) + 1).ToString(); SessionFixed.IdTransaccionSessionActual = SessionFixed.IdTransaccionSession; #endregion ct_cbtecble_Info model = bus_comprobante.get_info(IdEmpresa, IdTipoCbte, IdCbteCble); if (model == null) { return(RedirectToAction("Index")); } model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual); model.lst_ct_cbtecble_det = bus_comprobante_detalle.get_list(IdEmpresa, IdTipoCbte, IdCbteCble); list_ct_cbtecble_det.set_list(model.lst_ct_cbtecble_det, model.IdTransaccionSession); cargar_combos(model.IdEmpresa); return(View(model)); }
public ct_cbtecble_Info armar_info(List <ct_cbtecble_det_Info> lista, int IdEmpresa, int IdTipoCbte, decimal IdCbteCble, string Observacion, DateTime Fecha) { try { ct_cbtecble_Info info = new ct_cbtecble_Info { IdEmpresa = IdEmpresa, IdTipoCbte = IdTipoCbte, IdCbteCble = IdCbteCble, cb_Observacion = Observacion, cb_Fecha = Fecha, cb_Valor = lista.Sum(q => q.dc_Valor_debe) }; info.lst_ct_cbtecble_det = lista; info.lst_ct_cbtecble_det.ForEach(q => { q.IdEmpresa = IdEmpresa; q.IdTipoCbte = IdTipoCbte; q.IdCbteCble = IdCbteCble; }); return(info); } catch (Exception) { throw; } }
public ActionResult Nuevo(int IdEmpresa = 0) { #region Validar Session if (string.IsNullOrEmpty(SessionFixed.IdTransaccionSession)) { return(RedirectToAction("Login", new { Area = "", Controller = "Account" })); } SessionFixed.IdTransaccionSession = (Convert.ToDecimal(SessionFixed.IdTransaccionSession) + 1).ToString(); SessionFixed.IdTransaccionSessionActual = SessionFixed.IdTransaccionSession; #endregion ct_cbtecble_Info model = new ct_cbtecble_Info { IdEmpresa = IdEmpresa, cb_Fecha = DateTime.Now, IdTipoCbte = 1, IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual) }; model.lst_ct_cbtecble_det = new List <ct_cbtecble_det_Info>(); list_ct_cbtecble_det.set_list(model.lst_ct_cbtecble_det, model.IdTransaccionSession); cargar_combos(); cargar_combos_detalle(); return(View(model)); }
public ActionResult Modificar(int IdEmpresa = 0, int IdTipoCbte = 0, decimal IdCbteCble = 0, bool Exito = false) { #region Validar Session if (string.IsNullOrEmpty(SessionFixed.IdTransaccionSession)) { return(RedirectToAction("Login", new { Area = "", Controller = "Account" })); } SessionFixed.IdTransaccionSession = (Convert.ToDecimal(SessionFixed.IdTransaccionSession) + 1).ToString(); SessionFixed.IdTransaccionSessionActual = SessionFixed.IdTransaccionSession; #endregion ct_cbtecble_Info model = bus_comprobante.get_info(IdEmpresa, IdTipoCbte, IdCbteCble); if (model == null) { return(RedirectToAction("Index")); } model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual); model.lst_ct_cbtecble_det = bus_comprobante_detalle.get_list(IdEmpresa, IdTipoCbte, IdCbteCble); list_ct_cbtecble_det.set_list(model.lst_ct_cbtecble_det, model.IdTransaccionSession); cargar_combos(model.IdEmpresa); if (Exito) { ViewBag.MensajeSuccess = MensajeSuccess; } #region Validacion Periodo ViewBag.MostrarBoton = true; if (!bus_periodo.ValidarFechaTransaccion(IdEmpresa, model.cb_Fecha, cl_enumeradores.eModulo.CONTA, model.IdSucursal, ref mensaje)) { ViewBag.mensaje = mensaje; ViewBag.MostrarBoton = false; } #endregion return(View(model)); }
public bool modificarDB(ct_anio_fiscal_x_tb_sucursal_Info info) { try { using (Entities_contabilidad Context = new Entities_contabilidad()) { var Fecha = info.IdanioFiscal + "-12-" + "31"; ct_anio_fiscal_x_tb_sucursal Entity = Context.ct_anio_fiscal_x_tb_sucursal.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdanioFiscal == info.IdanioFiscal); if (Entity == null) { return(false); } ct_cbtecble_Info info_diario = armar_info(info.info_cbtecble_det, info.IdEmpresa, info.IdSucursal, Convert.ToInt32(info.IdTipoCbte), 0, info.Observacion, Convert.ToDateTime(Fecha)); //ct_cbtecble Entity_cbte = Context.ct_cbtecble.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdTipoCbte == info.IdTipoCbte && q.IdCbteCble == info.IdCbteCble).FirstOrDefault(); if (info_diario != null) { info_diario.IdCbteCble = Convert.ToDecimal(info.IdCbteCble); info_diario.IdUsuarioUltModi = info.IdUsuario; info_diario.cb_Observacion = info.Observacion; if (data_cbtecble.modificarDB(info_diario)) { info.IdTipoCbte = info_diario.IdTipoCbte; info.IdCbteCble = info_diario.IdCbteCble; } } Context.SaveChanges(); } return(true); } catch (Exception) { throw; } }
public cp_nota_DebCre_Info() { info_proveedor = new cp_proveedor_Info(); info_comrobante = new ct_cbtecble_Info(); }
public cp_orden_giro_Info() { info_retencion = new cp_retencion_Info(); info_comrobante = new ct_cbtecble_Info(); }
public bool modificarDB(fa_notaCreDeb_Info info) { try { #region Variables int Secuencia = 1; ct_cbtecble_Data odata_ct = new ct_cbtecble_Data(); cxc_cobro_Data odata_cobr = new cxc_cobro_Data(); #endregion using (Entities_facturacion db_f = new Entities_facturacion()) { #region Nota de debito credito #region Cabecera var entity = db_f.fa_notaCreDeb.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdBodega == info.IdBodega && q.IdNota == info.IdNota).FirstOrDefault(); if (entity == null) { return(false); } entity.IdPuntoVta = info.IdPuntoVta; //entity.CodNota = info.CodNota; entity.CreDeb = info.CreDeb.Trim(); entity.CodDocumentoTipo = info.CodDocumentoTipo; entity.Serie1 = info.Serie1; entity.Serie2 = info.Serie2; entity.NumNota_Impresa = info.NumNota_Impresa; entity.NumAutorizacion = info.NumAutorizacion; entity.Fecha_Autorizacion = info.Fecha_Autorizacion; entity.IdCliente = info.IdCliente; entity.IdContacto = info.IdContacto; entity.no_fecha = info.no_fecha.Date; entity.no_fecha_venc = info.no_fecha_venc.Date; entity.IdTipoNota = info.IdTipoNota; entity.sc_observacion = info.sc_observacion; entity.NaturalezaNota = info.NaturalezaNota; entity.IdCtaCble_TipoNota = info.IdCtaCble_TipoNota; entity.IdUsuarioUltMod = info.IdUsuarioUltMod; entity.Fecha_UltMod = DateTime.Now; #endregion #region Detalle var lst = db_f.fa_notaCreDeb_det.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdBodega == info.IdBodega && q.IdNota == info.IdNota).ToList(); db_f.fa_notaCreDeb_det.RemoveRange(lst); foreach (var item in info.lst_det) { db_f.fa_notaCreDeb_det.Add(new fa_notaCreDeb_det { IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdBodega = info.IdBodega, IdNota = info.IdNota, Secuencia = Secuencia++, IdProducto = item.IdProducto, sc_cantidad = item.sc_cantidad, sc_cantidad_factura = item.sc_cantidad_factura, sc_Precio = item.sc_Precio, sc_descUni = item.sc_descUni, sc_PordescUni = item.sc_PordescUni, sc_precioFinal = item.sc_precioFinal, vt_por_iva = item.vt_por_iva, sc_iva = item.sc_iva, IdCod_Impuesto_Iva = item.IdCod_Impuesto_Iva, sc_estado = "A", sc_subtotal = item.sc_subtotal, sc_total = item.sc_total, IdCentroCosto = item.IdCentroCosto, IdCentroCosto_sub_centro_costo = item.IdCentroCosto_sub_centro_costo, IdPunto_Cargo = item.IdPunto_Cargo, IdPunto_cargo_grupo = item.IdPunto_cargo_grupo }); } #endregion #region Cruce var lst_cruce = db_f.fa_notaCreDeb_x_fa_factura_NotaDeb.Where(q => q.IdEmpresa_nt == info.IdEmpresa && q.IdSucursal_nt == info.IdSucursal && q.IdBodega_nt == info.IdBodega && q.IdNota_nt == info.IdNota).ToList(); db_f.fa_notaCreDeb_x_fa_factura_NotaDeb.RemoveRange(lst_cruce); Secuencia = 1; foreach (var item in info.lst_cruce) { db_f.fa_notaCreDeb_x_fa_factura_NotaDeb.Add(new fa_notaCreDeb_x_fa_factura_NotaDeb { IdEmpresa_nt = info.IdEmpresa, IdSucursal_nt = info.IdSucursal, IdBodega_nt = info.IdBodega, IdNota_nt = info.IdNota, secuencia = Secuencia++, IdEmpresa_fac_nd_doc_mod = item.IdEmpresa_fac_nd_doc_mod, IdSucursal_fac_nd_doc_mod = item.IdSucursal_fac_nd_doc_mod, IdBodega_fac_nd_doc_mod = item.IdBodega_fac_nd_doc_mod, IdCbteVta_fac_nd_doc_mod = item.IdCbteVta_fac_nd_doc_mod, vt_tipoDoc = item.vt_tipoDoc, Valor_Aplicado = item.Valor_Aplicado, fecha_cruce = DateTime.Now, }); } #endregion db_f.SaveChanges(); #endregion #region Parametros var parametros = db_f.fa_parametro.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault(); var cliente = db_f.fa_cliente.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdCliente == info.IdCliente).FirstOrDefault(); #endregion #region Contabilidad if (parametros != null && parametros.IdTipoCbteCble_NC != null && parametros.IdTipoCbteCble_ND != null) { var rel_conta = db_f.fa_notaCreDeb_x_ct_cbtecble.Where(q => q.no_IdEmpresa == info.IdEmpresa && q.no_IdSucursal == info.IdSucursal && q.no_IdBodega == info.IdBodega && q.no_IdNota == info.IdNota).FirstOrDefault(); ct_cbtecble_Info diario = armar_diario(info, info.CreDeb.Trim() == "C" ? (int)parametros.IdTipoCbteCble_NC : (int)parametros.IdTipoCbteCble_ND, cliente.IdCtaCble_cxc_Credito, info.IdCtaCble_TipoNota); if (diario != null) { if (rel_conta == null) { if (odata_ct.guardarDB(diario)) { db_f.fa_notaCreDeb_x_ct_cbtecble.Add(new fa_notaCreDeb_x_ct_cbtecble { no_IdEmpresa = info.IdEmpresa, no_IdSucursal = info.IdSucursal, no_IdBodega = info.IdBodega, no_IdNota = info.IdNota, ct_IdEmpresa = diario.IdEmpresa, ct_IdTipoCbte = diario.IdTipoCbte, ct_IdCbteCble = diario.IdCbteCble, observacion = info.CodDocumentoTipo + (info.NaturalezaNota == "SRI" ? ("-" + info.Serie1 + "-" + info.Serie2 + "-" + info.NumNota_Impresa) : info.IdNota.ToString("000000000")) }); db_f.SaveChanges(); } } else { diario.IdCbteCble = rel_conta.ct_IdCbteCble; odata_ct.modificarDB(diario); } } } #endregion #region Cobranza if (info.CreDeb.Trim() == "C" && info.lst_cruce.Count != 0) { cxc_cobro_Info cobro = armar_cobro(info); if (cobro != null) { var rel_cobr = db_f.fa_notaCreDeb_x_cxc_cobro.Where(q => q.IdEmpresa_nt == info.IdEmpresa && q.IdSucursal_nt == info.IdSucursal && q.IdBodega_nt == info.IdBodega && q.IdNota_nt == info.IdNota).FirstOrDefault(); if (rel_cobr == null) { if (odata_cobr.guardarDB(cobro)) { db_f.fa_notaCreDeb_x_cxc_cobro.Add(new fa_notaCreDeb_x_cxc_cobro { IdEmpresa_nt = info.IdEmpresa, IdSucursal_nt = info.IdSucursal, IdBodega_nt = info.IdBodega, IdNota_nt = info.IdNota, IdEmpresa_cbr = cobro.IdEmpresa, IdSucursal_cbr = cobro.IdSucursal, IdCobro_cbr = cobro.IdCobro, Valor_cobro = Math.Round(info.lst_cruce.Sum(q => q.Valor_Aplicado), 2, MidpointRounding.AwayFromZero) }); db_f.SaveChanges(); } } else { cobro.IdCobro = rel_cobr.IdCobro_cbr; odata_cobr.modificarDB(cobro); } } } #endregion } return(true); } catch (Exception) { throw; } }
public bool GuardarBD(cp_conciliacionAnticipo_Info info) { try { cp_parametros_Info info_parametros = new cp_parametros_Info(); info_parametros = data_cp_parametro.get_info(info.IdEmpresa); using (Entities_contabilidad db_cont = new Entities_contabilidad()) { if (info_parametros != null && info_parametros.pa_TipoCbte_para_conci_x_antcipo != null) { ct_cbtecble_Info info_diario = armar_info(info.Lista_det_Cbte, info.IdEmpresa, info.IdSucursal, Convert.ToInt32(info_parametros.pa_TipoCbte_para_conci_x_antcipo), 0, info.Observacion, info.Fecha); if (info_diario != null) { info_diario.IdUsuario = info.IdUsuarioCreacion; if (data_cbtecble.guardarDB(info_diario)) { info.IdTipoCbte = info_diario.IdTipoCbte; info.IdCbteCble = info_diario.IdCbteCble; } } } } using (Entities_cuentas_por_pagar db = new Entities_cuentas_por_pagar()) { db.cp_ConciliacionAnticipo.Add(new cp_ConciliacionAnticipo { IdEmpresa = info.IdEmpresa, IdConciliacion = info.IdConciliacion = get_id(info.IdEmpresa), IdSucursal = info.IdSucursal, IdProveedor = info.IdProveedor, Fecha = info.Fecha, Observacion = info.Observacion, IdTipoCbte = info.IdTipoCbte, IdCbteCble = info.IdCbteCble, Estado = true, IdUsuarioCreacion = info.IdUsuarioCreacion, FechaCreacion = DateTime.Now }); if (info.Lista_det_OP != null) { int SecuenciaOP = 1; foreach (var item in info.Lista_det_OP) { db.cp_ConciliacionAnticipoDetAnt.Add(new cp_ConciliacionAnticipoDetAnt { IdEmpresa = info.IdEmpresa, IdConciliacion = info.IdConciliacion, Secuencia = SecuenciaOP++, IdOrdenPago = item.IdOrdenPago, MontoAplicado = item.MontoAplicado }); } } if (info.Lista_det_Fact != null) { int SecuenciaFact = 1; int SecuenciaCanc = 1; foreach (var item in info.Lista_det_Fact) { db.cp_ConciliacionAnticipoDetCXP.Add(new cp_ConciliacionAnticipoDetCXP { IdEmpresa = info.IdEmpresa, IdConciliacion = info.IdConciliacion, Secuencia = SecuenciaFact++, IdOrdenPago = item.IdOrdenPago, IdEmpresa_cxp = item.IdEmpresa_cxp, IdTipoCbte_cxp = item.IdTipoCbte_cxp, IdCbteCble_cxp = item.IdCbteCble_cxp, Fecha_cxp = item.Fecha_cxp, Observacion_cxp = item.Observacion_cxp, MontoAplicado = item.MontoAplicado }); cp_orden_pago_cancelaciones_Info info_cancelacion = new cp_orden_pago_cancelaciones_Info(); info_cancelacion.IdEmpresa = info.IdEmpresa; info_cancelacion.Secuencia = SecuenciaCanc++; info_cancelacion.IdEmpresa_op = item.IdEmpresa_cxp; info_cancelacion.IdOrdenPago_op = item.IdOrdenPago; info_cancelacion.Secuencia_op = 1; info_cancelacion.IdEmpresa_cxp = item.IdEmpresa_cxp; info_cancelacion.IdTipoCbte_cxp = item.IdTipoCbte_cxp; info_cancelacion.IdCbteCble_cxp = item.IdCbteCble_cxp; info_cancelacion.IdEmpresa_pago = info.IdEmpresa; info_cancelacion.IdTipoCbte_pago = Convert.ToInt32(info.IdTipoCbte); info_cancelacion.IdCbteCble_pago = Convert.ToInt32(info.IdCbteCble); info_cancelacion.MontoAplicado = item.MontoAplicado; info_cancelacion.Observacion = "CONCILIACION" + info.IdConciliacion; data_op_cancelaciones.guardarDB(info_cancelacion); } } db.SaveChanges(); } return(true); } catch (Exception ex) { eliminar(info.IdEmpresa, Convert.ToInt32(info.IdTipoCbte), Convert.ToDecimal(info.IdCbteCble)); tb_LogError_Data LogData = new tb_LogError_Data(); LogData.GuardarDB(new tb_LogError_Info { Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "cp_conciliacionAnticipo_Data", Metodo = "GuardarDB", IdUsuario = info.IdUsuarioCreacion }); return(false); } }
public bool ModificarBD(cp_conciliacionAnticipo_Info info) { try { using (Entities_contabilidad db_cont = new Entities_contabilidad()) { ct_cbtecble_Info info_diario = armar_info(info.Lista_det_Cbte, info.IdEmpresa, info.IdSucursal, Convert.ToInt32(info.IdTipoCbte), 0, info.Observacion, info.Fecha); ct_cbtecble Entity_cbte = db_cont.ct_cbtecble.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdTipoCbte == info.IdTipoCbte && q.IdCbteCble == info.IdCbteCble).FirstOrDefault(); if (info_diario != null) { info_diario.IdCbteCble = Convert.ToDecimal(info.IdCbteCble); info_diario.IdUsuarioUltModi = info.IdUsuarioModificacion; if (data_cbtecble.modificarDB(info_diario)) { info.IdTipoCbte = info_diario.IdTipoCbte; info.IdCbteCble = info_diario.IdCbteCble; } } } using (Entities_cuentas_por_pagar db = new Entities_cuentas_por_pagar()) { cp_ConciliacionAnticipo entity = db.cp_ConciliacionAnticipo.Where(q => q.IdConciliacion == info.IdConciliacion && q.IdEmpresa == info.IdEmpresa).FirstOrDefault(); if (entity == null) { return(false); } entity.IdProveedor = info.IdProveedor; entity.Fecha = info.Fecha; entity.Observacion = info.Observacion; entity.IdSucursal = info.IdSucursal; entity.IdUsuarioModificacion = info.IdUsuarioModificacion; entity.FechaModificacion = DateTime.Now; var lst_det_OP = db.cp_ConciliacionAnticipoDetAnt.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdConciliacion == info.IdConciliacion).ToList(); db.cp_ConciliacionAnticipoDetAnt.RemoveRange(lst_det_OP); var lst_det_Fact = db.cp_ConciliacionAnticipoDetCXP.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdConciliacion == info.IdConciliacion).ToList(); db.cp_ConciliacionAnticipoDetCXP.RemoveRange(lst_det_Fact); var lst_Cancelaciones = db.cp_orden_pago_cancelaciones.Where(q => q.IdEmpresa_op == info.IdEmpresa && q.IdTipoCbte_pago == info.IdTipoCbte && q.IdCbteCble_pago == info.IdCbteCble).ToList(); db.cp_orden_pago_cancelaciones.RemoveRange(lst_Cancelaciones); if (info.Lista_det_OP != null) { int SecuenciaOP = 1; foreach (var item in info.Lista_det_OP) { db.cp_ConciliacionAnticipoDetAnt.Add(new cp_ConciliacionAnticipoDetAnt { IdEmpresa = info.IdEmpresa, IdConciliacion = info.IdConciliacion, Secuencia = SecuenciaOP++, IdOrdenPago = item.IdOrdenPago, MontoAplicado = item.MontoAplicado }); } } if (info.Lista_det_Fact != null) { int SecuenciaFact = 1; int SecuenciaCanc = 1; foreach (var item in info.Lista_det_Fact) { db.cp_ConciliacionAnticipoDetCXP.Add(new cp_ConciliacionAnticipoDetCXP { IdEmpresa = info.IdEmpresa, IdConciliacion = info.IdConciliacion, Secuencia = SecuenciaFact++, IdOrdenPago = item.IdOrdenPago, IdEmpresa_cxp = item.IdEmpresa, IdTipoCbte_cxp = item.IdTipoCbte_cxp, IdCbteCble_cxp = item.IdCbteCble_cxp, Fecha_cxp = item.Fecha_cxp, Observacion_cxp = item.Observacion_cxp, MontoAplicado = item.MontoAplicado }); cp_orden_pago_cancelaciones_Info info_cancelacion = new cp_orden_pago_cancelaciones_Info(); info_cancelacion.IdEmpresa = info.IdEmpresa; info_cancelacion.Secuencia = SecuenciaCanc++; info_cancelacion.IdEmpresa_op = item.IdEmpresa_cxp; info_cancelacion.IdOrdenPago_op = item.IdOrdenPago; info_cancelacion.Secuencia_op = 1; info_cancelacion.IdEmpresa_cxp = item.IdEmpresa_cxp; info_cancelacion.IdTipoCbte_cxp = item.IdTipoCbte_cxp; info_cancelacion.IdCbteCble_cxp = item.IdCbteCble_cxp; info_cancelacion.IdEmpresa_pago = info.IdEmpresa; info_cancelacion.IdTipoCbte_pago = Convert.ToInt32(info.IdTipoCbte); info_cancelacion.IdCbteCble_pago = Convert.ToInt32(info.IdCbteCble); info_cancelacion.MontoAplicado = item.MontoAplicado; info_cancelacion.Observacion = "CONCILIACION" + info.IdConciliacion; data_op_cancelaciones.guardarDB(info_cancelacion); } } db.SaveChanges(); } return(true); } catch (Exception ex) { tb_LogError_Data LogData = new tb_LogError_Data(); LogData.GuardarDB(new tb_LogError_Info { Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "cp_conciliacionAnticipo_Data", Metodo = "ModificarDB", IdUsuario = info.IdUsuarioCreacion }); return(false); } }
private ct_cbtecble_Info armar_diario(fa_notaCreDeb_Info info, int IdTipoCbte, string IdCtaCble_cliente, string IdCtaCble_tipoNota) { try { string IdCtaCble_IVA = string.Empty; using (Entities_general Context = new Entities_general()) { var porcentajes = (from q in info.lst_det group q by new { q.IdCod_Impuesto_Iva } into g select g.Key).ToList(); foreach (var item in porcentajes) { var impuesto = Context.tb_sis_Impuesto_x_ctacble.Include("tb_sis_Impuesto").Where(q => q.IdEmpresa_cta == info.IdEmpresa && q.IdCod_Impuesto == item.IdCod_Impuesto_Iva).FirstOrDefault(); if (impuesto != null) { if (impuesto.tb_sis_Impuesto.porcentaje > 0) { IdCtaCble_IVA = impuesto.IdCtaCble; } } } } #region Cabecera ct_cbtecble_Info diario = new ct_cbtecble_Info { IdEmpresa = info.IdEmpresa, IdTipoCbte = IdTipoCbte, IdCbteCble = 0, cb_Fecha = info.no_fecha.Date, cb_Anio = info.no_fecha.Date.Year, cb_mes = info.no_fecha.Date.Month, IdPeriodo = Convert.ToInt32(info.no_fecha.ToString("yyyyMM")), IdUsuario = info.IdUsuario, IdUsuarioUltModi = info.IdUsuarioUltMod, cb_Observacion = info.CodDocumentoTipo + (info.NaturalezaNota == "SRI" ? ("-" + info.Serie1 + "-" + info.Serie2 + "-" + info.NumNota_Impresa) : info.IdNota.ToString("000000000")) + info.sc_observacion, CodCbteCble = info.CodDocumentoTipo + (info.NaturalezaNota == "SRI" ? info.NumNota_Impresa : info.IdNota.ToString("000000000")), cb_Valor = 0, lst_ct_cbtecble_det = new List <ct_cbtecble_det_Info>() }; #endregion int secuencia = 1; #region Cuenta cliente if (!string.IsNullOrEmpty(IdCtaCble_cliente)) { diario.lst_ct_cbtecble_det.Add(new ct_cbtecble_det_Info { IdEmpresa = diario.IdEmpresa, IdTipoCbte = diario.IdTipoCbte, IdCbteCble = diario.IdCbteCble, secuencia = secuencia++, IdCtaCble = IdCtaCble_cliente, dc_Valor = Math.Round(info.lst_det.Sum(q => q.sc_total), 2, MidpointRounding.AwayFromZero) * (info.CreDeb.Trim() == "C" ? -1 : 1), dc_para_conciliar = false }); } #endregion #region IVA if (!string.IsNullOrEmpty(IdCtaCble_IVA)) { diario.lst_ct_cbtecble_det.Add(new ct_cbtecble_det_Info { IdEmpresa = diario.IdEmpresa, IdTipoCbte = diario.IdTipoCbte, IdCbteCble = diario.IdCbteCble, secuencia = secuencia++, IdCtaCble = IdCtaCble_IVA, dc_Valor = Math.Round(info.lst_det.Where(q => q.vt_por_iva > 0).Sum(q => q.sc_iva), 2, MidpointRounding.AwayFromZero) * (info.CreDeb.Trim() == "C" ? 1 : -1) }); } #endregion #region Cuenta tipo nota if (!string.IsNullOrEmpty(IdCtaCble_tipoNota)) { diario.lst_ct_cbtecble_det.Add(new ct_cbtecble_det_Info { IdEmpresa = diario.IdEmpresa, IdTipoCbte = diario.IdTipoCbte, IdCbteCble = diario.IdCbteCble, secuencia = secuencia++, IdCtaCble = IdCtaCble_tipoNota, dc_Valor = Math.Round(info.lst_det.Sum(q => q.sc_subtotal), 2, MidpointRounding.AwayFromZero) * (info.CreDeb.Trim() == "C" ? 1 : -1), dc_para_conciliar = false, }); } #endregion if (info.lst_det.Count == 0) { return(null); } if (Math.Round(diario.lst_ct_cbtecble_det.Sum(q => q.dc_Valor), 2, MidpointRounding.AwayFromZero) != 0) { return(null); } if (diario.lst_ct_cbtecble_det.Where(q => q.dc_Valor == 0).Count() > 0) { return(null); } return(diario); } catch (Exception) { throw; } }
public bool guardarDB(fa_notaCreDeb_Info info) { try { #region Variables int Secuencia = 1; ct_cbtecble_Data odata_ct = new ct_cbtecble_Data(); cxc_cobro_Data odata_cobr = new cxc_cobro_Data(); #endregion using (Entities_facturacion db_f = new Entities_facturacion()) { #region Nota de debito credito #region Cabecera fa_notaCreDeb Entity = new fa_notaCreDeb //db_f.fa_notaCreDeb.Add(new fa_notaCreDeb { IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdBodega = info.IdBodega, IdNota = info.IdNota = get_id(info.IdEmpresa, info.IdSucursal, info.IdBodega), IdPuntoVta = info.IdPuntoVta, CodNota = info.CodNota, CreDeb = info.CreDeb.Trim(), CodDocumentoTipo = info.CodDocumentoTipo, Serie1 = info.Serie1, Serie2 = info.Serie2, NumNota_Impresa = info.NumNota_Impresa, NumAutorizacion = info.NumAutorizacion, Fecha_Autorizacion = info.Fecha_Autorizacion, IdCliente = info.IdCliente, no_fecha = info.no_fecha.Date, no_fecha_venc = info.no_fecha_venc.Date, IdTipoNota = info.IdTipoNota, sc_observacion = info.sc_observacion, Estado = info.Estado = "A", NaturalezaNota = info.NaturalezaNota, IdCtaCble_TipoNota = info.IdCtaCble_TipoNota, IdUsuario = info.IdUsuario }; #endregion #region Detalle foreach (var item in info.lst_det) { db_f.fa_notaCreDeb_det.Add(new fa_notaCreDeb_det { IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdBodega = info.IdBodega, IdNota = info.IdNota, Secuencia = Secuencia++, IdProducto = item.IdProducto, sc_cantidad = item.sc_cantidad, sc_cantidad_factura = item.sc_cantidad_factura, sc_Precio = item.sc_Precio, sc_descUni = item.sc_descUni, sc_PordescUni = item.sc_PordescUni, sc_precioFinal = item.sc_precioFinal, vt_por_iva = item.vt_por_iva, sc_iva = item.sc_iva, IdCod_Impuesto_Iva = item.IdCod_Impuesto_Iva, sc_subtotal = item.sc_subtotal, sc_total = item.sc_total, IdCentroCosto = item.IdCentroCosto, IdPunto_Cargo = item.IdPunto_Cargo, IdPunto_cargo_grupo = item.IdPunto_cargo_grupo }); } #endregion #region Cruce Secuencia = 1; foreach (var item in info.lst_cruce) { db_f.fa_notaCreDeb_x_fa_factura_NotaDeb.Add(new fa_notaCreDeb_x_fa_factura_NotaDeb { IdEmpresa_nt = info.IdEmpresa, IdSucursal_nt = info.IdSucursal, IdBodega_nt = info.IdBodega, IdNota_nt = info.IdNota, secuencia = Secuencia++, IdEmpresa_fac_nd_doc_mod = item.IdEmpresa_fac_nd_doc_mod, IdSucursal_fac_nd_doc_mod = item.IdSucursal_fac_nd_doc_mod, IdBodega_fac_nd_doc_mod = item.IdBodega_fac_nd_doc_mod, IdCbteVta_fac_nd_doc_mod = item.IdCbteVta_fac_nd_doc_mod, vt_tipoDoc = item.vt_tipoDoc, Valor_Aplicado = item.Valor_Aplicado, fecha_cruce = DateTime.Now, }); } #endregion #region Talonario fa_PuntoVta_Data data_puntovta = new fa_PuntoVta_Data(); tb_sis_Documento_Tipo_Talonario_Data data_talonario = new tb_sis_Documento_Tipo_Talonario_Data(); fa_PuntoVta_Info info_puntovta = new fa_PuntoVta_Info(); tb_sis_Documento_Tipo_Talonario_Info ultimo_talonario = new tb_sis_Documento_Tipo_Talonario_Info(); tb_sis_Documento_Tipo_Talonario_Info info_talonario = new tb_sis_Documento_Tipo_Talonario_Info(); info_puntovta = data_puntovta.get_info(info.IdEmpresa, info.IdSucursal, info.IdPuntoVta); if (info_puntovta != null && info.NaturalezaNota == "SRI") { if (info_puntovta.EsElectronico == true) { ultimo_talonario = data_talonario.GetUltimoNoUsado(info.IdEmpresa, info_puntovta.codDocumentoTipo, info_puntovta.Su_CodigoEstablecimiento, info_puntovta.cod_PuntoVta, info_puntovta.EsElectronico, true); if (ultimo_talonario != null) { Entity.Serie1 = info.Serie1 = ultimo_talonario.Establecimiento; Entity.Serie2 = info.Serie2 = ultimo_talonario.PuntoEmision; Entity.NumNota_Impresa = info.NumNota_Impresa = ultimo_talonario.NumDocumento; } } else { info_talonario.IdEmpresa = info.IdEmpresa; info_talonario.CodDocumentoTipo = info.CodDocumentoTipo; info_talonario.Establecimiento = info.Serie1; info_talonario.PuntoEmision = info.Serie2; info_talonario.NumDocumento = info.NumNota_Impresa; info_talonario.IdSucursal = info.IdSucursal; info_talonario.Usado = true; data_talonario.modificar_estado_usadoDB(info_talonario); } } else { Entity.Serie1 = null; Entity.Serie2 = null; Entity.NumNota_Impresa = null; } #endregion db_f.fa_notaCreDeb.Add(Entity); db_f.SaveChanges(); #endregion #region Parametros var parametros = db_f.fa_parametro.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault(); var cliente = db_f.fa_cliente.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdCliente == info.IdCliente).FirstOrDefault(); #endregion #region Contabilidad if (parametros != null) { ct_cbtecble_Info diario = armar_diario(info, info.CreDeb.Trim() == "C" ? (int)parametros.IdTipoCbteCble_NC : (int)parametros.IdTipoCbteCble_ND, cliente.IdCtaCble_cxc_Credito, info.IdCtaCble_TipoNota); if (diario != null) { if (odata_ct.guardarDB(diario)) { db_f.fa_notaCreDeb_x_ct_cbtecble.Add(new fa_notaCreDeb_x_ct_cbtecble { no_IdEmpresa = info.IdEmpresa, no_IdSucursal = info.IdSucursal, no_IdBodega = info.IdBodega, no_IdNota = info.IdNota, ct_IdEmpresa = diario.IdEmpresa, ct_IdTipoCbte = diario.IdTipoCbte, ct_IdCbteCble = diario.IdCbteCble, observacion = info.CodDocumentoTipo + (info.NaturalezaNota == "SRI" ? ("-" + info.Serie1 + "-" + info.Serie2 + "-" + info.NumNota_Impresa) : info.IdNota.ToString("000000000")) }); db_f.SaveChanges(); } } } #endregion #region Cobranza if (info.CreDeb.Trim() == "C" && info.lst_cruce.Count != 0) { cxc_cobro_Info cobro = armar_cobro(info); if (cobro != null) { if (odata_cobr.guardarDB(cobro)) { db_f.fa_notaCreDeb_x_cxc_cobro.Add(new fa_notaCreDeb_x_cxc_cobro { IdEmpresa_nt = info.IdEmpresa, IdSucursal_nt = info.IdSucursal, IdBodega_nt = info.IdBodega, IdNota_nt = info.IdNota, IdEmpresa_cbr = cobro.IdEmpresa, IdSucursal_cbr = cobro.IdSucursal, IdCobro_cbr = cobro.IdCobro, Valor_cobro = Math.Round(info.lst_cruce.Sum(q => q.Valor_Aplicado), 2, MidpointRounding.AwayFromZero) }); db_f.SaveChanges(); } } } #endregion } return(true); } catch (Exception ex) { tb_LogError_Data LogData = new tb_LogError_Data(); LogData.GuardarDB(new tb_LogError_Info { Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "fa_notaCreDeb_Data", Metodo = "guardarDB", IdUsuario = info.IdUsuario }); return(false); } }
/// <param name="info">Debe ir llenos los PK y el IdUsuarioUltAnu</param> /// <returns></returns> public bool anularDB(ct_cbtecble_Info info) { try { using (Entities_contabilidad Context = new Entities_contabilidad()) { ct_cbtecble Entity = Context.ct_cbtecble.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdTipoCbte == info.IdTipoCbte && q.IdCbteCble == info.IdCbteCble); if (Entity == null) { return(false); } //Si ya esta anulado no volverlo a anular if (Entity.cb_Estado == "I") { return(true); } #region Comprobante reverso ct_cbtecble_tipo e_tipo = Context.ct_cbtecble_tipo.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdTipoCbte == info.IdTipoCbte).FirstOrDefault(); if (e_tipo == null) { return(false); } #region Cabecera ct_cbtecble Entity_reverso = new ct_cbtecble { IdEmpresa = Entity.IdEmpresa, IdTipoCbte = e_tipo.IdTipoCbte_Anul, IdCbteCble = get_id(Entity.IdEmpresa, e_tipo.IdTipoCbte_Anul), IdSucursal = Entity.IdSucursal, cb_Estado = Entity.cb_Estado = "A", cb_Fecha = DateTime.Now.Date, cb_Observacion = "**REVERSO DE DIARIO tipo: " + Entity.IdTipoCbte.ToString() + " #cbte: " + Entity.IdCbteCble.ToString() + "** " + Entity.cb_Observacion, cb_Valor = Entity.cb_Valor, CodCbteCble = "ANU" + Entity.CodCbteCble, IdPeriodo = Entity.IdPeriodo = Convert.ToInt32(DateTime.Now.ToString("yyyyMM")), IdUsuario = info.IdUsuarioAnu, cb_FechaTransac = DateTime.Now }; Context.ct_cbtecble.Add(Entity_reverso); #endregion #region Detalle var det = Context.ct_cbtecble_det.Where(q => q.IdEmpresa == Entity.IdEmpresa && q.IdTipoCbte == Entity.IdTipoCbte && q.IdCbteCble == Entity.IdCbteCble).ToList(); foreach (var item in det) { ct_cbtecble_det Entity_reverso_det = new ct_cbtecble_det { IdEmpresa = item.IdEmpresa, IdTipoCbte = Entity_reverso.IdTipoCbte, IdCbteCble = Entity_reverso.IdCbteCble, secuencia = item.secuencia, IdCtaCble = item.IdCtaCble, dc_Observacion = "**REVERSO DE DIARIO tipo: " + Entity.IdTipoCbte.ToString() + " #cbte: " + Entity.IdCbteCble.ToString() + "** " + item.dc_Observacion, dc_Valor = item.dc_Valor * -1, dc_para_conciliar = false, IdCentroCosto = item.IdCentroCosto, IdPunto_cargo = item.IdPunto_cargo, IdPunto_cargo_grupo = item.IdPunto_cargo_grupo }; Context.ct_cbtecble_det.Add(Entity_reverso_det); } #endregion #endregion #region Tabla intermedia ct_cbtecble_Reversado Entity_int = new ct_cbtecble_Reversado { IdEmpresa = Entity.IdEmpresa, IdTipoCbte = Entity.IdTipoCbte, IdCbteCble = Entity.IdCbteCble, IdEmpresa_Anu = Entity_reverso.IdEmpresa, IdTipoCbte_Anu = Entity_reverso.IdTipoCbte, IdCbteCble_Anu = Entity_reverso.IdCbteCble, }; Context.ct_cbtecble_Reversado.Add(Entity_int); #endregion Entity.cb_MotivoAnu = info.cb_MotivoAnu; Entity.cb_Estado = info.cb_Estado = "I"; Entity.IdUsuarioAnu = info.IdUsuarioAnu; Entity.cb_FechaAnu = DateTime.Now; Entity.cb_Observacion = "REVERSADO CON EL DIARIO tipo: " + Entity_reverso.IdTipoCbte.ToString() + " #cbte: " + Entity_reverso.IdCbteCble.ToString() + "** " + Entity.cb_Observacion; Context.SaveChanges(); }; return(true); } catch (Exception) { throw; } }
public bool guardarDB(ct_cbtecble_Info info) { try { info.IdPeriodo = Convert.ToInt32(info.cb_Fecha.Year.ToString() + info.cb_Fecha.Month.ToString("00")); using (Entities_contabilidad Context = new Entities_contabilidad()) { var periodo = Context.ct_periodo.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdPeriodo == info.IdPeriodo).FirstOrDefault(); if (periodo == null) { return(false); } ct_cbtecble Entity = new ct_cbtecble { IdEmpresa = info.IdEmpresa, cb_Estado = info.cb_Estado = "A", cb_Fecha = info.cb_Fecha.Date, IdSucursal = info.IdSucursal, cb_Observacion = info.cb_Observacion, cb_Valor = Math.Round(info.lst_ct_cbtecble_det.Where(q => q.dc_Valor > 0).Sum(q => q.dc_Valor), 2, MidpointRounding.AwayFromZero), CodCbteCble = info.CodCbteCble, IdCbteCble = info.IdCbteCble = get_id(info.IdEmpresa, info.IdTipoCbte), IdPeriodo = info.IdPeriodo = Convert.ToInt32(info.cb_Fecha.Year.ToString() + info.cb_Fecha.Month.ToString("00")), IdTipoCbte = info.IdTipoCbte, IdUsuario = info.IdUsuario, cb_FechaTransac = DateTime.Now }; Context.ct_cbtecble.Add(Entity); int secuencia = 1; foreach (var item in info.lst_ct_cbtecble_det) { ct_cbtecble_det Entity_det = new ct_cbtecble_det { IdEmpresa = Entity.IdEmpresa, IdCbteCble = Entity.IdCbteCble, IdTipoCbte = Entity.IdTipoCbte, dc_Observacion = item.dc_Observacion, dc_Valor = Math.Round(item.dc_Valor, 2, MidpointRounding.AwayFromZero), IdCtaCble = item.IdCtaCble, secuencia = secuencia++, dc_para_conciliar = item.dc_para_conciliar, IdCentroCosto = item.IdCentroCosto, IdPunto_cargo = item.IdPunto_cargo, IdPunto_cargo_grupo = item.IdPunto_cargo_grupo }; Context.ct_cbtecble_det.Add(Entity_det); } Context.SaveChanges(); } return(true); } catch (Exception ex) { tb_LogError_Data LogData = new tb_LogError_Data(); LogData.GuardarDB(new tb_LogError_Info { Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "ct_cbtecble_Data", Metodo = "guardarDB", IdUsuario = info.IdUsuario }); return(false); } }
public bool ContabilizarPeriodo(ro_rol_Info info) { try { ro_parametro = new ro_Parametros_Data(); ro_Comprobantes_Contables_Info info_comprobanteID = new ro_Comprobantes_Contables_Info(); ct_cbtecble_Info info_ctb = null; info_parametro = ro_parametro.get_info(info.IdEmpresa); var lstSucursal = info.lst_sueldo_x_pagar.GroupBy(q => new { q.IdSucursal, q.Su_Descripcion }).Select(q => new { IdSucursal = q.Key.IdSucursal, Su_Descripcion = q.Key.Su_Descripcion }); foreach (var item in lstSucursal) { info_ctb = get_armar_diario_sueldo(info, Convert.ToInt32(info_parametro.IdTipoCbte_AsientoSueldoXPagar), item.IdSucursal ?? 0); if (info_ctb == null) { return(false); } info_ctb.IdSucursal = item.IdSucursal ?? 0; if (info_ctb != null) { if (odata_comprobante.guardarDB(info_ctb)) { // grabando los ID del asiento sueldo por pagar info_comprobanteID.IdEmpresa = info.IdEmpresa; info_comprobanteID.IdNomina = info.IdNomina_Tipo; info_comprobanteID.IdNominaTipo = info.IdNomina_TipoLiqui; info_comprobanteID.IdPeriodo = info.IdPeriodo; info_comprobanteID.IdTipoCbte = info_ctb.IdTipoCbte; info_comprobanteID.IdCbteCble = info_ctb.IdCbteCble; info_comprobanteID.IdRol = info.IdRol; info_comprobanteID.IdEmpresa_rol = info.IdEmpresa; ro_comprobante.grabarDB(info_comprobanteID); info_ctb = null; if (info.lst_provisiones.Count() > 0) { info_ctb = get_armar_diario_provisiones(info, Convert.ToInt32(info_parametro.IdTipoCbte_AsientoSueldoXPagar), item.IdSucursal ?? 0); if (info_ctb == null) { return(false); } info_ctb.IdSucursal = item.IdSucursal ?? 0; } if (info_ctb != null) { if (odata_comprobante.guardarDB(info_ctb)) { // grabando los ID del asiento sueldo por pagar info_comprobanteID = new ro_Comprobantes_Contables_Info(); info_comprobanteID.IdEmpresa = info.IdEmpresa; info_comprobanteID.IdNomina = info.IdNomina_Tipo; info_comprobanteID.IdNominaTipo = info.IdNomina_TipoLiqui; info_comprobanteID.IdPeriodo = info.IdPeriodo; info_comprobanteID.IdTipoCbte = info_ctb.IdTipoCbte; info_comprobanteID.IdCbteCble = info_ctb.IdCbteCble; info_comprobanteID.IdRol = info.IdRol; info_comprobanteID.IdEmpresa_rol = info.IdEmpresa; ro_comprobante.grabarDB(info_comprobanteID); } } } } } odata.ContabilizarPeriodo(info); return(true); } catch (Exception) { throw; } }
public bool modificarDB(ct_cbtecble_Info info) { try { ba_Conciliacion_det_IngEgr_Data odata = new ba_Conciliacion_det_IngEgr_Data(); using (Entities_contabilidad Context = new Entities_contabilidad()) { ct_cbtecble Entity = Context.ct_cbtecble.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdTipoCbte == info.IdTipoCbte && q.IdCbteCble == info.IdCbteCble); if (Entity == null) { return(false); } string mensaje = ""; if (!odata.ValidarComprobanteEnConciliacion(info.IdEmpresa, info.IdTipoCbte, info.IdCbteCble, ref mensaje)) { Entity.cb_Observacion = info.cb_Observacion; Context.SaveChanges(); return(true); } Entity.cb_Fecha = info.cb_Fecha.Date; Entity.IdSucursal = info.IdSucursal; Entity.cb_Observacion = info.cb_Observacion; Entity.cb_Valor = Math.Round(info.lst_ct_cbtecble_det.Where(q => q.dc_Valor > 0).Sum(q => q.dc_Valor), 2, MidpointRounding.AwayFromZero); Entity.CodCbteCble = info.CodCbteCble; Entity.IdPeriodo = info.IdPeriodo = Convert.ToInt32(info.cb_Fecha.ToString("yyyyMM")); Entity.IdUsuarioUltModi = info.IdUsuarioUltModi; Entity.cb_FechaUltModi = DateTime.Now; var lstDet = Context.ct_cbtecble_det.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdTipoCbte == info.IdTipoCbte && q.IdCbteCble == info.IdCbteCble).ToList(); Context.ct_cbtecble_det.RemoveRange(lstDet); //Context.Database.ExecuteSqlCommand("DElETE ct_cbtecble_det WHERE IdEmpresa = " + info.IdEmpresa + " and IdTipoCbte = " + info.IdTipoCbte + " and IdCbteCble = " + info.IdCbteCble + ""); int secuencia = 1; foreach (var item in info.lst_ct_cbtecble_det) { ct_cbtecble_det Entity_det = new ct_cbtecble_det { IdEmpresa = Entity.IdEmpresa, IdCbteCble = Entity.IdCbteCble, IdTipoCbte = Entity.IdTipoCbte, dc_Observacion = item.dc_Observacion, dc_Valor = Math.Round(item.dc_Valor, 2, MidpointRounding.AwayFromZero), IdCtaCble = item.IdCtaCble, secuencia = secuencia++, dc_para_conciliar = item.dc_para_conciliar, IdCentroCosto = item.IdCentroCosto, IdPunto_cargo = item.IdPunto_cargo, IdPunto_cargo_grupo = item.IdPunto_cargo_grupo }; Context.ct_cbtecble_det.Add(Entity_det); } Context.SaveChanges(); }; return(true); } catch (Exception ex) { tb_LogError_Data LogData = new tb_LogError_Data(); LogData.GuardarDB(new tb_LogError_Info { Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "ct_cbtecble_Data", Metodo = "modificarDB", IdUsuario = info.IdUsuario }); return(false); } }
public bool guardar_importacionDB(cp_nota_DebCre_Info info) { try { cp_proveedor_Bus bus_proveedor = new cp_proveedor_Bus(); var prov = bus_proveedor.get_info(info.IdEmpresa, info.IdProveedor); var cp_parametros = bus_cp_parametro.get_info(info.IdEmpresa); info.info_comrobante = new ct_cbtecble_Info(); ct_cbtecble_Info diario = new ct_cbtecble_Info { IdEmpresa = info.IdEmpresa, IdTipoCbte = info.IdTipoCbte_Nota, IdCbteCble = info.IdCbteCble_Nota, cb_Fecha = info.cn_fecha, cb_Observacion = info.cn_observacion, IdPeriodo = Convert.ToInt32(info.cn_fecha.Year.ToString() + info.cn_fecha.Month.ToString().PadLeft(2, '0')), IdSucursal = info.IdSucursal, cb_FechaTransac = DateTime.Now, cb_Estado = "A" }; if (prov != null) { if (info.cn_observacion == null) { info.cn_observacion = ""; } diario.cb_Observacion = "Prov: " + prov.info_persona.pe_nombreCompleto + " " + info.cn_observacion; } else { diario.cb_Observacion = info.cn_observacion; } info.info_comrobante = diario; info.info_comrobante.lst_ct_cbtecble_det = new List <ct_cbtecble_det_Info>(); ct_cbtecble_det_Info diario_det = new ct_cbtecble_det_Info { IdEmpresa = info.IdEmpresa, IdTipoCbte = diario.IdTipoCbte, IdCbteCble = diario.IdCbteCble, secuencia = 1, IdCtaCble = prov.IdCtaCble_CXP, dc_Valor = Math.Round(Convert.ToDouble(info.cn_total), 2, MidpointRounding.AwayFromZero), }; info.info_comrobante.lst_ct_cbtecble_det.Add(diario_det); ct_cbtecble_det_Info diario_det_ = new ct_cbtecble_det_Info { IdEmpresa = diario.IdEmpresa, IdTipoCbte = diario.IdTipoCbte, IdCbteCble = diario.IdCbteCble, secuencia = 2, IdCtaCble = prov.IdCtaCble_CXP, dc_Valor = Math.Round(Convert.ToDouble(info.cn_total), 2, MidpointRounding.AwayFromZero) * -1 }; info.info_comrobante.lst_ct_cbtecble_det.Add(diario_det_); if (bus_contabilidad.guardarDB(info.info_comrobante)) { info.IdTipoCbte_Nota = info.info_comrobante.IdTipoCbte; info.IdCbteCble_Nota = info.info_comrobante.IdCbteCble; info.Estado = "A"; info.cn_vaCoa = "N"; info.IdTipoNota = info.IdTipoNota; if (data.guardarDB(info)) { return(true); } } return(false); } catch (Exception) { throw; } }
public cp_orden_pago_Info() { detalle = new List <cp_orden_pago_det_Info>(); info_comprobante = new ct_cbtecble_Info(); }
public cp_retencion_Info() { detalle = new List <cp_retencion_det_Info>(); info_comprobante = new ct_cbtecble_Info(); }