//Gastos programats //Execució diària public ActionResult SchedulesGastos() { var context = new ExpensesEF.Entities(); List <GastoRecurrente> _GastoRecurrentes; _GastoRecurrentes = context.GastoRecurrente.Where(x => x.Activo != 0).ToList(); var dbContextTransaction = context.Database.BeginTransaction(); try { //Per a cada gasto "Recurrent" foreach (GastoRecurrente _GastoRecurrente in _GastoRecurrentes) { //Comparem sempre la data de la propera execució. Si és la data actual, creem el nou gasto. if (_GastoRecurrente.SiguienteEjecucion.Year == DateTime.Now.Year && _GastoRecurrente.SiguienteEjecucion.Month == DateTime.Now.Month && _GastoRecurrente.SiguienteEjecucion.Day == DateTime.Now.Day && _GastoRecurrente.Activo == 1) { //Creem el gasto Gasto _Gasto = new Gasto(); _Gasto.Concepto = _GetConcepto(_GastoRecurrente); _Gasto.idUserGasto = _GastoRecurrente.idUserGastoRecurrente; _Gasto.idTipoGasto = _GastoRecurrente.idTipoGastoRecurrente; _Gasto.Fecha = DateTime.Now; _Gasto.Precio = _GastoRecurrente.Precio; _Gasto.idTipoPago = _GastoRecurrente.idTipoPago; _Gasto.GastoComputable = (_GastoRecurrente.GastoComputable ? 1 : 0); _Gasto.GastoRecurrente = true; _Gasto.Resaltar = true; _Gasto.GastoEditable = true; _Gasto.EsCompartido = false; _Gasto.idSubTipoGasto = _GastoRecurrente.idSubTipoGasto; _Gasto.EsRegalo = false; //Update amb la data de nova execució _GastoRecurrente.SiguienteEjecucion = _GastoRecurrente.SiguienteEjecucion.AddMonths(_GastoRecurrente.Periocidad1.MesesASumar.GetValueOrDefault()); //Enquem els canvis context.Entry(_Gasto).State = System.Data.Entity.EntityState.Added; context.Entry(_GastoRecurrente).State = System.Data.Entity.EntityState.Modified; //Fem els canvis a la BBDD context.SaveChanges(); } } dbContextTransaction.Commit(); } catch (Exception _Ex) { dbContextTransaction.Rollback(); } return(null); }
public ActionResult Copy(int id) { var _Gasto = new ExpensesEF.Gasto(); var _GastoCopy = new ExpensesEF.Gasto(); using (var context = new ExpensesEF.Entities()) { _Gasto = context.Gasto.Where(x => x.idGasto == id).FirstOrDefault(); //_GastoCopy = _Gasto; _GastoCopy.Concepto = _Gasto.Concepto; _GastoCopy.Fecha = DateTime.Now; _GastoCopy.GastoComputable = _Gasto.GastoComputable; _GastoCopy.GastoRecurrente = _Gasto.GastoRecurrente; _GastoCopy.idGrupoGasto = _Gasto.idGrupoGasto; _GastoCopy.idTipoGasto = _Gasto.idTipoGasto; _GastoCopy.idTipoPago = _Gasto.idTipoPago; _GastoCopy.idTipoMoneda = _GastoCopy.idTipoMoneda; _GastoCopy.idUserGasto = _Gasto.idUserGasto; _GastoCopy.Precio = _Gasto.Precio; _GastoCopy.GastoEditable = true; _GastoCopy.Resaltar = _Gasto.Resaltar; _GastoCopy.idSubTipoGasto = _Gasto.idSubTipoGasto; _GastoCopy.EsCompartido = false; _GastoCopy.EsRegalo = false; _GastoCopy.Valoracion = _Gasto.Valoracion; //No copiem si és un regalo o no context.Entry(_GastoCopy).State = System.Data.Entity.EntityState.Added; context.SaveChanges(); } return(RedirectToAction("IndexA", "Home")); }
public ActionResult UpdateSueldo() { //var model = new expenses.Models.SueldosViewModel(); var context = new ExpensesEF.Entities(); string _IdUser; _IdUser = context.AspNetUsers.Where(x => x.Email == User.Identity.Name).FirstOrDefault().Id.ToString(); Sueldo sueldo = context.Sueldo.Where(x => x.idUserGasto == _IdUser).FirstOrDefault(); if (sueldo is null) { //Insert sueldo = new Sueldo(); sueldo.idUserGasto = _IdUser; context.Entry(sueldo).State = System.Data.Entity.EntityState.Added; } else { //update context.Entry(sueldo).State = System.Data.Entity.EntityState.Modified; } sueldo.SueldoBrutoAnual = Utils.parseDecimal(Request.Form["txtBruto"].ToString()); sueldo.SueldoNetoEnero = Utils.parseDecimal(Request.Form["txtEnero"].ToString()); sueldo.SueldoNetoFebrero = Utils.parseDecimal(Request.Form["txtFebrero"].ToString()); sueldo.SueldoNetoMarzo = Utils.parseDecimal(Request.Form["txtMarzo"].ToString()); sueldo.SueldoNetoAbril = Utils.parseDecimal(Request.Form["txtAbril"].ToString()); sueldo.SueldoNetoMayo = Utils.parseDecimal(Request.Form["txtMayo"].ToString()); sueldo.SueldoNetoJunio = Utils.parseDecimal(Request.Form["txtJunio"].ToString()); sueldo.SueldoNetoJulio = Utils.parseDecimal(Request.Form["txtJulio"].ToString()); sueldo.SueldoNetoAgosto = Utils.parseDecimal(Request.Form["txtAgosto"].ToString()); sueldo.SueldoNetoSeptiembre = Utils.parseDecimal(Request.Form["txtSeptiembre"].ToString()); sueldo.SueldoNetoOctubre = Utils.parseDecimal(Request.Form["txtOctubre"].ToString()); sueldo.SueldoNetoNoviembre = Utils.parseDecimal(Request.Form["txtNoviembre"].ToString()); sueldo.SueldoNetoDiciembre = Utils.parseDecimal(Request.Form["txtDiciembre"].ToString()); context.SaveChanges(); return(RedirectToAction("Index", "Manage")); }
private ActionResult UpdateGasto(GastosViewModels model, int id) { decimal ValorOriginal = 0; var _Gasto = new Gasto(); string _codigo; var context = new ExpensesEF.Entities(); _codigo = System.Threading.Thread.CurrentThread.CurrentCulture.ToString().Substring(0, 2); if (!ModelState.IsValid) { model._TipoPagoList = context.TipoPagoTextosTraduccion.Where(x => (x.idIdioma == context.Idiomas.Where(y => y.codigo == _codigo).FirstOrDefault().idIdioma)).ToList(); model._TipoGastosTrad = GetListTipoGastos(context.TipoGastoTextosTraduccion.Where(x => (x.TipoGasto.Activo == true) && (x.idIdioma == context.Idiomas.Where(y => y.codigo == _codigo).FirstOrDefault().idIdioma)).ToList().OrderBy(x => x.Descripcion)); model._GrupoGastosTrad = GetListItemsGrupoGastos(context.GrupoGastoTextosTraduccion.Where(x => (x.GrupoGasto.Activo == true) && (x.idIdioma == context.Idiomas.Where(y => y.codigo == _codigo).FirstOrDefault().idIdioma)).ToList().OrderBy(x => x.Descripcion)); model._FormatoFecha = GetFormatoFecha(); return(View(model)); } _Gasto = context.Gasto.Where(x => x.idGasto == id).FirstOrDefault(); ValorOriginal = _Gasto.Precio; _Gasto.idGasto = id; _Gasto.Concepto = model.Concepto; _Gasto.Fecha = model.Fecha; _Gasto.Precio = model.Importe; _Gasto.Valoracion = model.Valoracion; _Gasto.idUserGasto = context.AspNetUsers.Where(x => x.Email == User.Identity.Name).FirstOrDefault().Id.ToString(); //_Gasto.idTipoGasto = model._idSelectedGasto; _Gasto.idTipoPago = model._idSelectedTipoPagoGasto; _Gasto.EsRegalo = model.EsRegalo; /* * if (model._idSelectedGrupoGasto > -1) * { _Gasto.idGrupoGasto = model._idSelectedGrupoGasto; } * else * { _Gasto.idGrupoGasto = null; } */ context.Entry(_Gasto).State = System.Data.Entity.EntityState.Modified; context.SaveChanges(); //Updatamos el total acumulado. if (ValorOriginal > model.Importe) { context.spAddSubPrecioGastosAcumulados(_Gasto.idGasto, 2, ValorOriginal - model.Importe); } else { context.spAddSubPrecioGastosAcumulados(_Gasto.idGasto, 3, model.Importe - ValorOriginal); } return(RedirectToAction("IndexA", "Home")); }
public ActionResult DelRecurrente() { int _idGastoRecurrente = int.Parse(Request.Form["hidden-idd"]); var _GastoRecurrente = new GastoRecurrente(); using (var context = new ExpensesEF.Entities()) { _GastoRecurrente = context.GastoRecurrente.Find(_idGastoRecurrente); context.Entry(_GastoRecurrente).State = System.Data.Entity.EntityState.Deleted; context.SaveChanges(); } return(RedirectToAction("GastosRecurrentes", "Gastos")); }
private ActionResult UpdateUser(IndexViewModel model) { var _User = new ExpensesEF.AspNetUsers(); string _codigo; var context = new ExpensesEF.Entities(); _codigo = User.Identity.GetUserId().ToString(); if (!ModelState.IsValid) { return(View(model)); } //Llegim i modifiquem amb el valor del model _User = context.AspNetUsers.Where(u => u.Id == _codigo).FirstOrDefault(); _User.VerTpcGastovsMesAnterior = model.VerTpcGastovsMesAnterior; _User.VerGastosSinOConRecurrentes = model.VerGastosTodosOSinRecurrentes; if (model._idSelectedGrupoGasto == -1) { _User.idGrupoGastoPorDefecto = null; } else { _User.idGrupoGastoPorDefecto = model._idSelectedGrupoGasto; } if (model._idSelectedTipoPago == -1) { _User.idTipoPagoPorDefecto = null; } else { _User.idTipoPagoPorDefecto = model._idSelectedTipoPago; } context.Entry(_User).State = System.Data.Entity.EntityState.Modified; context.SaveChanges(); return(RedirectToAction("IndexA", "Home")); }
public ActionResult Delete(int id) { var _Gasto = new Gasto(); using (var context = new ExpensesEF.Entities()) { _Gasto = context.Gasto.Find(id); //Actualitzem gastos acumulats... if (_Gasto != null) { context.spAddSubPrecioGastosAcumulados(_Gasto.idGasto, 0, 0); } //Eliminem Gasto context.Entry(_Gasto).State = System.Data.Entity.EntityState.Deleted; context.SaveChanges(); } return(RedirectToAction("IndexA", "Home")); }
public ActionResult EditGastoRecurrente(GastosRecurrenteViewModels model) { int _idGastoRecurrente = int.Parse(Request.Form["hidden-ide"]); model.Importe = expenses.Utils.parseDecimal(Request.Form["txtImporte"].ToString()); //model.GastoComputable = Request.Form[""] if (ModelState.IsValid) { // Save it in database var context = new ExpensesEF.Entities(); //_codigo = System.Threading.Thread.CurrentThread.CurrentCulture.ToString().Substring(0, 2); GastoRecurrente _GastoRecurrente = new GastoRecurrente(); _GastoRecurrente = context.GastoRecurrente.Where(x => x.idGastoRecurrente == _idGastoRecurrente).FirstOrDefault(); _GastoRecurrente.idUserGastoRecurrente = context.AspNetUsers.Where(x => x.Email == User.Identity.Name).FirstOrDefault().Id.ToString(); _GastoRecurrente.Concepto = model.Concepto; _GastoRecurrente.Precio = model.Importe; _GastoRecurrente.idTipoPago = int.Parse(Request.Form["TiposPagoEdit"].ToString()); //si és el mateix tipus de gasto, no recalculem la nova data. if (int.Parse(Request.Form["TipoPeriodicidadEdit"].ToString()) != _GastoRecurrente.Periocidad) { _GastoRecurrente.Periocidad = int.Parse(Request.Form["TipoPeriodicidadEdit"].ToString()); _GastoRecurrente.SiguienteEjecucion = _getSiguienteEjecucion(_GastoRecurrente.Periocidad); } _GastoRecurrente.GastoComputable = (model.GastoComputable == true); _GastoRecurrente.Activo = (model.GastoActivo ? 1 : 0); context.Entry(_GastoRecurrente).State = System.Data.Entity.EntityState.Modified; context.SaveChanges(); ModelState.Clear(); return(RedirectToAction("GastosRecurrentes", "Gastos")); } return(PartialView("_GastoRecurrente", model)); }