public DTO.Resultado Contable_Asiento_Apertura_Guardar(DTO.Contable.Asiento.Apertura.Insertar ficha) { if (ficha.IsPreview) { return(provider.Contable_Asiento_Apertura_Preview(ficha)); } else { return(provider.Contable_Asiento_Apertura_Insertar(ficha)); } }
public OOB.Resultado.Resultado Asiento_Apertura_Guardar(OOB.Contable.Asiento.Apertura.Insertar ficha) { var result = new OOB.Resultado.Resultado(); var idAsiento = -1; if (ficha.Asiento != null) { idAsiento = ficha.Asiento.Id; } var fichaDTO = new DTO.Contable.Asiento.Apertura.Insertar() { Id = idAsiento, PeriodoMes = ficha.Periodo.MesActual, PeriodoAno = ficha.Periodo.AnoActual, Importe = ficha.Importe, FechaDocumentoRef = ficha.Fecha, DescripcionDocumentoRef = ficha.Descripcion, IsPreview = ficha.IsPreview, Ctas = ficha.Detalles.Select((d) => { return(new DTO.Contable.Asiento.Apertura.InsertarCta() { Id = d.Cta.Id, codigo = d.Cta.Codigo, Descripcion = d.Cta.Nombre, MontoDebe = d.Debe, MontoHaber = d.Haber, Signo = d.Cta.Naturaleza == OOB.Contable.PlanCta.Enumerados.Naturaleza.Deudora ?1:-1, }); }).ToList() }; var resultDTO = _servicio.Contable_Asiento_Apertura_Guardar(fichaDTO); if (resultDTO.Result == DTO.EnumResult.isError) { result.Mensaje = resultDTO.Mensaje; result.Result = OOB.Resultado.EnumResult.isError; return(result); } return(result); }
public Resultado Contable_Asiento_Apertura_Preview(DTO.Contable.Asiento.Apertura.Insertar ficha) { var result = new Resultado(); try { using (var ctx = new dBEntities(_cn.ConnectionString)) { using (var ts = new TransactionScope()) { var FechaSistema = ctx.Database.SqlQuery <DateTime>("select NOW()").FirstOrDefault(); int cnt = 0; if (ficha.Id != -1) { var entA = ctx.contabilidad_asiento.Find(ficha.Id); var entADoc = ctx.contabilidad_asiento_documento.Where(d => d.idAsiento == ficha.Id).ToList(); var entADet = ctx.contabilidad_asiento_detalle.Where(d => d.idAsiento == ficha.Id).ToList(); cnt = entA.numeroComprobante; foreach (var dt in entADet) { ctx.contabilidad_asiento_detalle.Remove(dt); } foreach (var doc in entADoc) { ctx.contabilidad_asiento_documento.Remove(doc); } ctx.contabilidad_asiento.Remove(entA); } else { var cont = ctx.contabilidad_contadores.Find(1); cont.cnt_aisento_preview += 1; cnt = cont.cnt_aisento_preview; ctx.SaveChanges(); } var ent = new contabilidad_asiento() { fechaEmision = FechaSistema.Date, mesRelacion = ficha.PeriodoMes, anoRelacion = ficha.PeriodoAno, descripcion = ficha.DescripcionDocumentoRef, tipoAsiento = (int)DTO.Contable.Asiento.Enumerados.Tipo.Apertura, autoGenerado = "N", estaAnulado = "N", estaProcesado = "N", numeroComprobante = cnt, renglones = ficha.Ctas.Count(), tipoDocumento = "", idTipoDocumento = null, reglaIntegracionCod = "", reglaIntegracionDesc = "", importe = ficha.Importe }; ctx.contabilidad_asiento.Add(ent); ctx.SaveChanges(); var entDoc = new contabilidad_asiento_documento() { idAsiento = ent.id, documento = "", fecha = ficha.FechaDocumentoRef, descripcion = ficha.DescripcionDocumentoRef, signo = 1, incluir = "S" }; ctx.contabilidad_asiento_documento.Add(entDoc); ctx.SaveChanges(); var reng = 0; foreach (var it in ficha.Ctas) { reng += 1; var entDet = new contabilidad_asiento_detalle() { idAsiento = ent.id, idAsientoDocumento = entDoc.id, idPlanCta = it.Id, numRenglon = reng, codigoCta = it.codigo, descripcionCta = it.Descripcion, montoDebe = it.MontoDebe, montoHaber = it.MontoHaber, }; ctx.contabilidad_asiento_detalle.Add(entDet); ctx.SaveChanges(); } ts.Complete(); } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DTO.EnumResult.isError; } return(result); }
public Resultado Contable_Asiento_Apertura_Insertar(DTO.Contable.Asiento.Apertura.Insertar ficha) { var result = new Resultado(); //try //{ // using (var ctx = new dBEntities(_cn.ConnectionString)) // { // using (var ts = ctx.Database.BeginTransaction()) // { // try // { // int cnt = 0; // if (ficha.Id != -1) // { // var entA = ctx.contabilidad_asiento.Find(ficha.Id); // var entADoc = ctx.contabilidad_asiento_documento.Where(d => d.idAsiento == ficha.Id).ToList(); // var entADet = ctx.contabilidad_asiento_detalle.Where(d => d.idAsiento == ficha.Id).ToList(); // cnt = entA.numeroComprobante; // foreach (var dt in entADet) // { // ctx.contabilidad_asiento_detalle.Remove(dt); // ctx.SaveChanges(); // } // foreach (var doc in entADoc) // { // ctx.contabilidad_asiento_documento.Remove(doc); // ctx.SaveChanges(); // } // ctx.contabilidad_asiento.Remove(entA); // ctx.SaveChanges(); // } // var FechaSistema = ctx.Database.SqlQuery<DateTime>("select NOW()").FirstOrDefault(); // var cont = ctx.contabilidad_contadores.Find(1); // cont.cnt_aisento += 1; // cnt = cont.cnt_aisento; // ctx.SaveChanges(); // var ent = new contabilidad_asiento() // { // fechaEmision = FechaSistema.Date, // mesRelacion = ficha.PeriodoMes, // anoRelacion = ficha.PeriodoAno, // descripcion = ficha.DescripcionDocumentoRef, // tipoAsiento = (int)DTO.Contable.Asiento.Enumerados.Tipo.Apertura, // autoGenerado = "N", // estaAnulado = "N", // estaProcesado = "S", // numeroComprobante = cnt, // renglones = ficha.Ctas.Count(), // tipoDocumento = "", // idTipoDocumento = null, // reglaIntegracionCod = "", // reglaIntegracionDesc = "", // importe = ficha.Importe // }; // ctx.contabilidad_asiento.Add(ent); // ctx.SaveChanges(); // var entDoc = new contabilidad_asiento_documento() // { // idAsiento = ent.id, // documento = "", // fecha = ficha.FechaDocumentoRef, // descripcion = ficha.DescripcionDocumentoRef, // signo = 1, // incluir="S", // }; // ctx.contabilidad_asiento_documento.Add(entDoc); // ctx.SaveChanges(); // var reng = 0; // foreach (var it in ficha.Ctas) // { // reng += 1; // var entDet = new contabilidad_asiento_detalle() // { // idAsiento = ent.id, // idAsientoDocumento = entDoc.id, // idPlanCta = it.Id, // numRenglon = reng, // codigoCta = it.codigo, // descripcionCta = it.Descripcion, // montoDebe = it.MontoDebe, // montoHaber = it.MontoHaber, // }; // ctx.contabilidad_asiento_detalle.Add(entDet); // ctx.SaveChanges(); // var entResumen = new contabilidad_asiento_resumen() // { // idAsiento = ent.id, // idPlanCta = it.Id, // codigoCta = it.codigo, // descripcionCta = it.Descripcion, // montoDebe = it.MontoDebe, // montoHaber = it.MontoHaber // }; // ctx.contabilidad_asiento_resumen.Add(entResumen); // ctx.SaveChanges(); // var entPlanCta = ctx.contabilidad_plancta.Find(it.Id); // entPlanCta.saldoApertura += it.SaldoInicial; // ctx.SaveChanges(); // var nivel = entPlanCta.nivel; // if (nivel >= 1) // { // var entNiv = entPlanCta; // for (var nv = nivel; nv > 1; nv--) // { // entNiv = entNiv.contabilidad_plancta2; // entNiv.saldoApertura += it.SaldoInicial; // ctx.SaveChanges(); // } // } // } // ts.Commit(); // } // catch (Exception ex) // { // throw new Exception(ex.Message); // } // finally // { // ctx.Configuration.AutoDetectChangesEnabled = true; // } // } // } //} //catch (Exception e) //{ // result.Mensaje = e.Message; // result.Result = DTO.EnumResult.isError; //} return(result); }