public bool guardarDB(cp_retencion_Info info) { try { int sec = 1; using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar()) { foreach (var item in info.detalle) { cp_retencion_det Entity = new cp_retencion_det { IdEmpresa = info.IdEmpresa, IdRetencion = info.IdRetencion, Idsecuencia = sec, re_tipoRet = item.re_tipoRet, re_baseRetencion = (double)item.re_baseRetencion, IdCodigo_SRI = item.IdCodigo_SRI, re_Codigo_impuesto = item.re_Codigo_impuesto, re_valor_retencion = Math.Round((double)item.re_valor_retencion, 2, MidpointRounding.AwayFromZero), re_Porcen_retencion = (double)item.re_Porcen_retencion, re_estado = "A" }; Context.cp_retencion_det.Add(Entity); sec++; } Context.SaveChanges(); } return(true); } catch (Exception) { throw; } }
public Boolean GrabarDB(List <cp_retencion_det_Info> lista) { try { int secuencia = 0; EntitiesCuentasxPagar Cp = new EntitiesCuentasxPagar(); foreach (var item in lista) { Cp.SetCommandTimeOut(3000); cp_retencion_det det = new cp_retencion_det(); det.IdEmpresa = item.IdEmpresa; // det.IdCbteCble_Ogiro = item.IdCbteCble_Ogiro; // det.IdTipoCbte_Ogiro = item.IdTipoCbte_Ogiro; det.IdRetencion = item.IdRetencion; det.Idsecuencia = ++secuencia; det.re_tipoRet = item.re_tipoRet; det.re_baseRetencion = item.re_baseRetencion; det.IdCodigo_SRI = item.IdCodigo_SRI; det.re_Codigo_impuesto = item.re_Codigo_impuesto; det.re_Porcen_retencion = item.re_Porcen_retencion; det.re_valor_retencion = Convert.ToDouble(item.re_valor_retencion); det.re_estado = "A"; det.IdUsuario = item.IdUsuario; det.Fecha_Transac = DateTime.Now; det.nom_pc = item.nom_pc; det.ip = item.ip; Cp.cp_retencion_det.Add(det); } Cp.SaveChanges(); return(true); } catch (Exception ex) { string arreglo = ToString(); tb_sis_Log_Error_Vzen_Data oDataLog = new tb_sis_Log_Error_Vzen_Data(); tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); mensaje = ex.InnerException + " " + ex.Message; throw new Exception(ex.InnerException.ToString()); } }
public Boolean guardarDB(cp_retencion_Info info) { Boolean res = true; try { int secuencia = 1; using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar()) { cp_retencion Entity = new cp_retencion { IdEmpresa = info.IdEmpresa, IdEmpresa_Ogiro = info.IdEmpresa_Ogiro, IdCbteCble_Ogiro = info.IdCbteCble_Ogiro, IdTipoCbte_Ogiro = info.IdTipoCbte_Ogiro, IdRetencion = info.IdRetencion = get_id(info.IdEmpresa), CodDocumentoTipo = info.CodDocumentoTipo, serie1 = info.serie1, serie2 = info.serie2, NumRetencion = info.NumRetencion, NAutorizacion = info.NAutorizacion, observacion = info.observacion, fecha = Convert.ToDateTime(info.fecha.ToShortDateString()), re_Tiene_RTiva = info.re_Tiene_RTiva, re_Tiene_RFuente = info.re_Tiene_RFuente, re_EstaImpresa = info.re_EstaImpresa, Estado = "A", Fecha_Transac = DateTime.Now, IdUsuario = info.IdUsuario, nom_pc = info.nom_pc, ip = info.ip, }; Context.cp_retencion.Add(Entity); foreach (var item in info.detalle) { cp_retencion_det Entity_det = new cp_retencion_det { IdEmpresa = info.IdEmpresa, IdRetencion = info.IdRetencion, Idsecuencia = secuencia, re_tipoRet = item.re_tipoRet, re_Codigo_impuesto = item.re_Codigo_impuesto, re_baseRetencion = (double)item.re_baseRetencion, re_Porcen_retencion = (double)item.re_Porcen_retencion, re_valor_retencion = (double)item.re_valor_retencion, IdCodigo_SRI = item.IdCodigo_SRI, IdUsuario = info.IdUsuario, re_estado = "A" }; secuencia++; Context.cp_retencion_det.Add(Entity_det); } Context.SaveChanges(); } return(res); } catch (Exception) { throw; } }
public bool modificarDB(cp_retencion_Info info) { try { int sec = 1; using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar()) { var contact = Context.cp_retencion.FirstOrDefault(minfo => minfo.IdEmpresa == info.IdEmpresa && minfo.IdRetencion == info.IdRetencion); if (contact != null) { contact.observacion = info.observacion; contact.IdUsuarioUltMod = info.IdUsuarioUltMod; contact.Fecha_UltMod = info.Fecha_UltMod; contact.ip = info.ip; if (info.detalle != null) { var lista = Context.cp_retencion_det.Where(minfo => minfo.IdEmpresa == info.IdEmpresa && minfo.IdRetencion == info.IdRetencion); Context.cp_retencion_det.RemoveRange(lista); foreach (var item in info.detalle) { cp_retencion_det Entity = new cp_retencion_det { IdEmpresa = info.IdEmpresa, IdRetencion = info.IdRetencion, Idsecuencia = sec, re_tipoRet = item.re_tipoRet, re_baseRetencion = (double)item.re_baseRetencion, IdCodigo_SRI = item.IdCodigo_SRI, re_Codigo_impuesto = item.re_Codigo_impuesto, re_valor_retencion = Math.Round((double)item.re_valor_retencion, 2, MidpointRounding.AwayFromZero), re_Porcen_retencion = (double)item.re_Porcen_retencion, re_estado = "A" }; Context.cp_retencion_det.Add(Entity); sec++; } } Context.SaveChanges(); if (Math.Round((double)info.detalle.Sum(q => q.re_valor_retencion), 2) > 0.01) { ct_cbtecble_Data odata_ct = new ct_cbtecble_Data(); var param = Context.cp_parametros.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault(); var diario = odata_ct.armar_info(info.info_comprobante.lst_ct_cbtecble_det, info.IdEmpresa, info.IdSucursal, (info.info_comprobante.IdTipoCbte == 0 ? Convert.ToInt32(param.pa_IdTipoCbte_x_Retencion) : info.info_comprobante.IdTipoCbte), 0, "Comprobante contable de retención #" + info.serie1 + " " + info.serie2 + " " + info.NumRetencion, info.fecha); if (diario != null) { var rel = Context.cp_retencion_x_ct_cbtecble.Where(q => q.rt_IdEmpresa == info.IdEmpresa && q.rt_IdRetencion == info.IdRetencion).FirstOrDefault(); if (rel == null) { if (odata_ct.guardarDB(diario)) { Context.cp_retencion_x_ct_cbtecble.Add(new cp_retencion_x_ct_cbtecble { rt_IdEmpresa = info.IdEmpresa, rt_IdRetencion = info.IdRetencion, ct_IdEmpresa = diario.IdEmpresa, ct_IdTipoCbte = diario.IdTipoCbte, ct_IdCbteCble = diario.IdCbteCble, Observacion = "Relacion" }); Context.SaveChanges(); } } else { diario.IdCbteCble = rel.ct_IdCbteCble; odata_ct.modificarDB(diario); } } } } } return(true); } catch (Exception) { throw; } }
public bool modificarDB(cp_retencion_Info info) { try { int sec = 1; using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar()) { var contact = Context.cp_retencion.FirstOrDefault(minfo => minfo.IdEmpresa == info.IdEmpresa && minfo.IdRetencion == info.IdRetencion); if (contact != null) { if (string.IsNullOrEmpty(contact.NumRetencion)) { tb_sis_Documento_Tipo_Talonario_Data odata_talonario = new tb_sis_Documento_Tipo_Talonario_Data(); var punto_venta = odata_pto.get_info(info.IdEmpresa, info.IdSucursal, info.IdPuntoVta ?? 0); if (punto_venta != null) { info_documento = odata_talonario.GetUltimoNoUsado(info.IdEmpresa, cl_enumeradores.eTipoDocumento.RETEN.ToString(), info.serie1, info.serie2, punto_venta.EsElectronico, true); } contact.serie1 = info.serie1 = info_documento == null ? null : info_documento.Establecimiento; contact.serie2 = info.serie2 = info_documento == null ? null : info_documento.PuntoEmision; contact.NumRetencion = info.NumRetencion = info_documento == null ? null : info_documento.NumDocumento; } //contact.IdPuntoVta = info.IdPuntoVta; contact.IdSucursal = info.IdSucursal; contact.fecha = info.fecha; contact.observacion = info.observacion = info.observacion + info.serie1 + "-" + info.serie2 + "-" + info.NumRetencion; contact.IdUsuarioUltMod = info.IdUsuarioUltMod; contact.Fecha_UltMod = DateTime.Now; contact.IdUsuarioUltMod = info.IdUsuario; if (info.detalle != null) { var lista = Context.cp_retencion_det.Where(minfo => minfo.IdEmpresa == info.IdEmpresa && minfo.IdRetencion == info.IdRetencion); Context.cp_retencion_det.RemoveRange(lista); foreach (var item in info.detalle) { cp_retencion_det Entity = new cp_retencion_det { IdEmpresa = info.IdEmpresa, IdRetencion = info.IdRetencion, Idsecuencia = sec, re_tipoRet = item.re_tipoRet, re_baseRetencion = (double)item.re_baseRetencion, IdCodigo_SRI = item.IdCodigo_SRI, re_Codigo_impuesto = item.re_Codigo_impuesto, re_valor_retencion = Math.Round((double)item.re_valor_retencion, 2, MidpointRounding.AwayFromZero), re_Porcen_retencion = (double)item.re_Porcen_retencion, re_estado = "A" }; Context.cp_retencion_det.Add(Entity); sec++; } } Context.SaveChanges(); if (Math.Round((double)info.detalle.Sum(q => q.re_valor_retencion), 2) > 0.01) { ct_cbtecble_Data odata_ct = new ct_cbtecble_Data(); var param = Context.cp_parametros.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault(); var diario = odata_ct.armar_info(info.info_comprobante.lst_ct_cbtecble_det, info.IdEmpresa, info.IdSucursal, (info.info_comprobante.IdTipoCbte == 0 ? Convert.ToInt32(param.pa_IdTipoCbte_x_Retencion) : info.info_comprobante.IdTipoCbte), 0, info.observacion, info.fecha); /*"Comprobante contable de retención #" + info.serie1 + " " + info.serie2 + " " + info.NumRetencion, */ if (diario != null) { var rel = Context.cp_retencion_x_ct_cbtecble.Where(q => q.rt_IdEmpresa == info.IdEmpresa && q.rt_IdRetencion == info.IdRetencion).FirstOrDefault(); if (rel == null) { if (odata_ct.guardarDB(diario)) { Context.cp_retencion_x_ct_cbtecble.Add(new cp_retencion_x_ct_cbtecble { rt_IdEmpresa = info.IdEmpresa, rt_IdRetencion = info.IdRetencion, ct_IdEmpresa = diario.IdEmpresa, ct_IdTipoCbte = diario.IdTipoCbte, ct_IdCbteCble = diario.IdCbteCble, Observacion = "Relacion" }); Context.SaveChanges(); } } else { diario.IdCbteCble = rel.ct_IdCbteCble; odata_ct.modificarDB(diario); } } } } } 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_retencion_Data", Metodo = "modificarDB", IdUsuario = info.IdUsuario }); return(false); } }