public dynamic ActualizarPresupuesto(DbPresupuesto request) { return(_dataModelRepository.ActualizarPresupuesto(request)); }
public static long Copiar(IContextFactory factory, IOptions <ConnectionDB> connection, long IdPresupuestoAnio) { long id = 0; using (Aldeas_Context db = factory.Create(connection)) { var data = from pro in db.TbPresupuestoAnio where pro.id == IdPresupuestoAnio && pro.actual == true select pro; if (data.Any()) { #region Copiamos 01 Presupuesto Anio int numVersion = 0; numVersion = data.First().numeroVersion + 1; var conteo = from pro in db.TbPresupuestoAnio where pro.idPrograma == data.First().idPrograma && pro.Anio == data.First().Anio select pro; numVersion = conteo.Count() + 1; var nuevo = new DbPresupuestoAnio() { actual = true, fecha_creacion = DateTime.Now, fecha_actualizacion = DateTime.Now, per_capacitacion = data.First().per_capacitacion, per_nomina = data.First().per_capacitacion, idPrograma = data.First().idPrograma, numeroVersion = numVersion, Anio = data.First().Anio, }; db.TbPresupuestoAnio.Add(nuevo); db.SaveChanges(); data.First().actual = false; data.First().fecha_actualizacion = DateTime.Now; db.SaveChanges(); id = nuevo.id; #endregion #region Copiamos 02 Presupuesto coberturas var dataCoberturas = from pro in db.TbPresupuestos where pro.idPresupuestoAnio == IdPresupuestoAnio select pro; List <DbPresupuestoPrograma> presupuestoProgramasCopia = new List <DbPresupuestoPrograma>(); if (dataCoberturas.Any()) { foreach (var copia in dataCoberturas.ToList()) { long idCoberturaCopia = 0; var coberturaCopia = new DbPresupuesto { Anio = copia.Anio, idPresupuestoAnio = id, idPrograma = copia.idPrograma, idFinanciador = copia.idFinanciador, IdProgramaCecos = copia.IdProgramaCecos, NombreContrato = copia.NombreContrato, CoberturaAnual = copia.CoberturaAnual, CoberturaMensual = copia.CoberturaMensual, CoberturaMensualEsperada = copia.CoberturaMensualEsperada, CoberturasCasas = copia.CoberturasCasas, fecha_actualizacion = DateTime.Now, fecha_creacion = DateTime.Now }; db.TbPresupuestos.Add(coberturaCopia); db.SaveChanges(); idCoberturaCopia = coberturaCopia.id; var dataItemsCobertura = from pro in db.TbPresupuestosProgramas where pro.idPresupuesto == copia.id select pro; if (dataItemsCobertura.Any()) { foreach (var copiaItem in dataItemsCobertura.ToList()) { var nuevoCopiaItem = new DbPresupuestoPrograma { idPresupuesto = idCoberturaCopia, idProgramaCecos = copiaItem.idProgramaCecos, idRubroPucs = copiaItem.idRubroPucs, esNomina = copiaItem.esNomina, esPPTO = copiaItem.esPPTO, NumeroIdentificacion = copiaItem.NumeroIdentificacion, Nombre = copiaItem.Nombre, Cargo = copiaItem.Cargo, Asignacion = copiaItem.Asignacion, NoCasa = copiaItem.NoCasa, NoKids = copiaItem.NoKids, NotaIngles = copiaItem.NotaIngles, DetalleGasto = copiaItem.DetalleGasto, Enero = copiaItem.Enero, Febrero = copiaItem.Febrero, Marzo = copiaItem.Marzo, Abril = copiaItem.Abril, Mayo = copiaItem.Mayo, Junio = copiaItem.Junio, Julio = copiaItem.Julio, Agosto = copiaItem.Agosto, Septiembre = copiaItem.Septiembre, Octubre = copiaItem.Octubre, Noviembre = copiaItem.Noviembre, Diciembre = copiaItem.Diciembre, Total = copiaItem.Total, TotalAnual = copiaItem.TotalAnual, fecha_actualizacion = DateTime.Now, fecha_creacion = DateTime.Now }; presupuestoProgramasCopia.Add(nuevoCopiaItem); } if (presupuestoProgramasCopia.Count > 0) { db.TbPresupuestosProgramas.AddRange(presupuestoProgramasCopia); db.SaveChanges(); presupuestoProgramasCopia = new List <DbPresupuestoPrograma>(); } } } } #endregion } else { return(0); } } return(id); }
public dynamic GuardarPresupuesto(DbPresupuesto request) { return(_dataModelRepository.GuardarPresupuesto(request)); }
public dynamic ActualizarPresupuesto(DbPresupuesto request) { return(PresupuestoOperations.ActualizarPresupuesto(_factory, _connectionDB, request)); }
public dynamic GuardarPresupuesto(DbPresupuesto request) { return(PresupuestoOperations.GuardarPresupuesto(_factory, _connectionDB, request)); }
public static dynamic ConsultarPresupuestosByProgramYCeco(IContextFactory factory, IOptions <ConnectionDB> connection, CoberturaRequest request) { PresupuestoByProgramResponse retorno = new PresupuestoByProgramResponse(); using (Aldeas_Context db = factory.Create(connection)) { var cobertura = false; var Actual = false; var tieneCobertura = from pro in db.TbProgramas join pre in db.TbPresupuestoAnio on pro.id equals pre.idPrograma join tpro in db.TbTipoPrograma on pro.id_tipo_programa equals tpro.id where pro.id == request.IdPrograma && pre.id == request.IdPresupuestoAnio select new { tpro.cobertura, pre.actual, }; if (tieneCobertura.Any()) { cobertura = tieneCobertura.First().cobertura; Actual = tieneCobertura.First().actual; } /// Si no es el actual no se deja actualizar o consultar. if (!Actual) { return(new JsonResult(new { message = "Unauthorized" }) { StatusCode = StatusCodes.Status401Unauthorized }); } if (!cobertura) { var existe = from pro in db.TbPresupuestos join panio in db.TbPresupuestoAnio on pro.idPresupuestoAnio equals panio.id where pro.idPrograma == request.IdPrograma && pro.IdProgramaCecos == request.IdCeco && panio.id == request.IdPresupuestoAnio select pro; if (!existe.Any()) { DbPresupuesto guardar = new DbPresupuesto { idPrograma = request.IdPrograma, idPresupuestoAnio = request.IdPresupuestoAnio, IdProgramaCecos = request.IdCeco }; PresupuestoOperations.GuardarPresupuesto(factory, connection, guardar); } } var data = from pre in db.TbPresupuestos join finan in db.TbFinanciadores on pre.idFinanciador equals finan.id where pre.idPrograma == request.IdPrograma && pre.idPresupuestoAnio == request.IdPresupuestoAnio && pre.IdProgramaCecos == request.IdCeco select new ResponsePresupuesto { idPrograma = pre.idPrograma, Anio = pre.Anio, CoberturaAnual = pre.CoberturaAnual, CoberturaMensual = pre.CoberturaMensual, CoberturasCasas = pre.CoberturasCasas, CoberturaMensualEsperada = pre.CoberturaMensualEsperada, id = pre.id, NombreContrato = pre.NombreContrato, Financiador = finan.nombre }; if (data.Any()) { retorno.presupuesto = data.ToList(); } } return(retorno); }
public static dynamic ActualizarPresupuesto(IContextFactory factory, IOptions <ConnectionDB> connection, DbPresupuesto datos) { using (Aldeas_Context db = factory.Create(connection)) { var data = from pro in db.TbPresupuestos where pro.idPrograma == datos.idPrograma && pro.Anio == datos.Anio select pro; if (data.Any()) { data.First().CoberturaAnual = datos.CoberturaAnual; data.First().CoberturaMensualEsperada = datos.CoberturaMensualEsperada; data.First().CoberturaMensual = datos.CoberturaMensual; data.First().CoberturasCasas = datos.CoberturasCasas; db.SaveChanges(); } } return(new { id = 0, status = "OK", code = 200 }); }
public static dynamic GuardarPresupuesto(IContextFactory factory, IOptions <ConnectionDB> connection, DbPresupuesto datos) { using (Aldeas_Context db = factory.Create(connection)) { int conteo = 0; /// Se valida que la combinacion anio programa y ceco no exista dos veces. var data = from pro in db.TbPresupuestos join panio in db.TbPresupuestoAnio on pro.idPresupuestoAnio equals panio.id where pro.idPrograma == datos.idPrograma && pro.IdProgramaCecos == datos.IdProgramaCecos && panio.id == datos.idPresupuestoAnio select pro; conteo = data.ToList().Count; var anio = from panio in db.TbPresupuestoAnio where panio.id == datos.idPresupuestoAnio select panio; if (anio.Any()) { datos.Anio = anio.First().Anio; } var dataCeco = from ceco in db.TbProgramasCecos where ceco.id == datos.IdProgramaCecos select ceco; if (dataCeco.Any()) { conteo++; datos.NombreContrato = "Contrato - " + dataCeco.First().CodigoCeco + "/" + dataCeco.First().SubCentro + " - " + dataCeco.First().NombreSubCentro + " # " + conteo; datos.idFinanciador = dataCeco.First().idFinanciador; } datos.fecha_actualizacion = DateTime.Now; datos.fecha_creacion = DateTime.Now; db.TbPresupuestos.Add(datos); db.SaveChanges(); } return(new { id = 0, status = "OK", code = 200 }); }