public JsonResult GetGastoMensualData() { var context = new ExpensesEF.Entities(); string _User = context.AspNetUsers.Where(x => x.Email == User.Identity.Name).FirstOrDefault().Id.ToString(); string _codigo = System.Threading.Thread.CurrentThread.CurrentCulture.ToString().Substring(0, 2); var datos = context.Gasto.Where(x => x.idUserGasto == _User && (x.Fecha.Year == DateTime.Now.Year && x.Fecha.Month == DateTime.Now.Month)).GroupBy(y => y.idTipoGasto).Select(group => new { idTipoGasto = group.Key, Precio = group.Sum(x => x.Precio) }) .ToList(); List <object> chartData = new List <object>(); chartData.Add(new object[] { "TipoGasto", "Gasto" }); foreach (var Elem in datos) { chartData.Add(new object[] { context.TipoGastoTextosTraduccion.Where(x => x.idTipoGasto == Elem.idTipoGasto && (x.idIdioma == context.Idiomas.Where(y => y.codigo == _codigo).FirstOrDefault().idIdioma)).FirstOrDefault().Descripcion.ToString(), Elem.Precio }); } return(Json(chartData)); }
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 JsonResult GetGastoAcumuladoData() { var context = new ExpensesEF.Entities(); string _User = context.AspNetUsers.Where(x => x.Email == User.Identity.Name).FirstOrDefault().Id.ToString(); var datos = context.SummaryGastoAcumuladoPorDia.Where(x => x.idUser == _User && (x.Fecha.Year == DateTime.Now.Year)).ToList(); List <object> chartData = new List <object>(); chartData.Add(new object[] { "Dia", expenses.Resources.Descripciones.RptGastoAcumuladoLabel2 }); foreach (var Elem in datos) { chartData.Add(new object[] { Elem.DayInYear, Elem.GastoAcumuladoAnual }); } return(Json(chartData)); }
// Exportem gastos de l'any en curs public ActionResult ExportDatos() { using (var context = new ExpensesEF.Entities()) { List <vst_Export_Gastos> _Gastos; string _User = context.AspNetUsers.Where(x => x.Email == User.Identity.Name).FirstOrDefault().Id.ToString(); //_Gastos = context.vst_Export_Gastos.Where(x=>x.idUserGasto == _User && x.Fecha.Substring(6,4)==DateTime.Now.Year.ToString()).OrderBy(x=>x.Fecha).ToList(); _Gastos = context.vst_Export_Gastos.Where(x => x.idUserGasto == _User && x.Fecha.Year >= 2019).OrderBy(x => x.Fecha).ToList(); var gv = new GridView(); gv.DataSource = _Gastos; gv.DataBind(); Response.ClearContent(); Response.Buffer = true; Response.AddHeader("content-disposition", "attachment; filename=Datos.xls"); Response.ContentType = "application/ms-excel"; Response.Charset = ""; StringWriter objStringWriter = new StringWriter(); HtmlTextWriter objHtmlTextWriter = new HtmlTextWriter(objStringWriter); gv.RenderControl(objHtmlTextWriter); Response.Output.Write(objStringWriter.ToString()); Response.Flush(); Response.End(); return(View("Index")); } }
//Fixem l'idioma de l'email private void SetCultura(int _idId) { var context = new ExpensesEF.Entities(); Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture = new CultureInfo(context.Idiomas.Where(x => x.idIdioma == _idId).FirstOrDefault().culture); _idIdioma = _idId; }
public JsonResult GetTopTenData(int id) { var context = new ExpensesEF.Entities(); string _User = context.AspNetUsers.Where(x => x.Email == User.Identity.Name).FirstOrDefault().Id.ToString(); //var datos = context.Gasto.Where(x => x.idUserGasto == _User && x.idSubTipoGasto==24).OrderBy(x => x.concepto).ThenByDescending(x => x.Concepto).GroupBy(y=>y.Concepto).ToList(); var datos = context.Gasto.Where(x => x.idUserGasto == _User && x.idSubTipoGasto == id).GroupBy(y => y.Concepto).OrderByDescending(y => y.Count()).ToList().Take(10); List <object> chartData = new List <object>(); chartData.Add(new object[] { "Concepto", "Veces", "Dinero gastado(€)" }); foreach (var Elem in datos) { chartData.Add(new object[] { Elem.Key, Elem.Count(), context.Gasto.Where(x => x.idUserGasto == _User && x.idSubTipoGasto == id && x.Concepto == Elem.Key).Sum(x => x.Precio) }); } return(Json(chartData)); }
public JsonResult GetAhorroGastoData() { var context = new ExpensesEF.Entities(); IEnumerable <SummaryTotal_Mensual> lista; string _User = context.AspNetUsers.Where(x => x.Email == User.Identity.Name).FirstOrDefault().Id.ToString(); DateTime dtInicio = DateTime.Now.AddMonths(-12); DateTime dtFin = DateTime.Now; string _codigo = System.Threading.Thread.CurrentThread.CurrentCulture.ToString().Substring(0, 2); List <object> chartData = new List <object>(); chartData.Add(new object[] { expenses.Resources.Descripciones.RptGastoMensualGraph1, expenses.Resources.Descripciones.RptGastoMensualGraph2, expenses.Resources.Descripciones.RptGastoMensualGraph3 }); lista = context.SummaryTotal_Mensual.Where(x => x.idUser == _User && ((x.Año == dtInicio.Year && x.Mes >= dtInicio.Month) || (x.Año == dtFin.Year))).OrderBy(y => y.Año); foreach (var Elem in lista) { chartData.Add(new object[] { expenses.Utils.GetMesLetras(Elem.Mes) + "/" + Elem.Año.ToString().Substring(2, 2), Elem.GastoTotal, Elem.AhorroFinDeMes }); } return(Json(chartData)); }
private DateTime _getSiguienteEjecucion(int idTipoPeriodicidad) { var context = new ExpensesEF.Entities(); int _mesesASumar; _mesesASumar = (context.Periocidad.Where(x => x.idPeriocidad == idTipoPeriodicidad).FirstOrDefault().MesesASumar).GetValueOrDefault(); return(DateTime.Now.AddMonths(_mesesASumar)); }
//Acumulat gasto anual per persona //Cada dia a 23:59 public ActionResult AcumulatedGastos() { var context = new ExpensesEF.Entities(); int year; year = DateTime.Now.Year; context.spGastosDiarioAcumulados(year); return(null); }
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")); }
//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 RptTopTenSubtipo() { string _codigo; var model = new RptTipoModel(); _codigo = System.Threading.Thread.CurrentThread.CurrentCulture.ToString().Substring(0, 2); using (var context = new ExpensesEF.Entities()) { 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)); } return(View(model)); }
public JsonResult GetResumenTipoGasto(int IdGrupo) { var context = new ExpensesEF.Entities(); string _User = context.AspNetUsers.Where(x => x.Email == User.Identity.Name).FirstOrDefault().Id.ToString(); List <object> chartData = new List <object>(); //var datos = context.SubTipoGasto.Where(x=> x.idTipoGasto == id).ToList(); if (IdGrupo == 0) { chartData.Add(new object[] { "Grupo Gasto", "Dinero gastado(€)" }); var datos = context.Gasto.Where(x => (x.idUserGasto == _User) && (x.GrupoGasto.VisibleReports == true) && (x.GrupoGasto.idTipoGrupoGasto == 2)).GroupBy(y => y.idGrupoGasto).Select(a => new { idGrupoGasto = a.Key, Amount = a.Sum(b => b.Precio) }); foreach (var Elem in datos) { if (Elem.idGrupoGasto != null) { chartData.Add(new object[] { context.GrupoGastoTextosTraduccion.Where(x => (x.idGrupoGasto == Elem.idGrupoGasto) && (x.idIdioma == 1) && (x.GrupoGasto.VisibleReports == true) && (x.GrupoGasto.idTipoGrupoGasto == 2)).FirstOrDefault().Descripcion, Elem.Amount }); } } } else { chartData.Add(new object[] { "Tipo Gasto", "Dinero gastado(€)" }); var datos = context.Gasto.Where(x => x.idUserGasto == _User && x.idGrupoGasto == IdGrupo).GroupBy(y => y.idTipoGasto).Select(a => new { idTipoGasto = a.Key, Amount = a.Sum(b => b.Precio) }); foreach (var Elem in datos) { chartData.Add(new object[] { context.TipoGastoTextosTraduccion.Where(x => x.idTipoGasto == Elem.idTipoGasto && x.idIdioma == 1).FirstOrDefault().Descripcion, Elem.Amount }); } } return(Json(chartData)); }
private string _GastoMaximoDia(SummaryTotal_Mensual _SummaryMensual, string _Usuari) { int i = 0; string _Res = ""; Gasto _Gasto; string idGasto; string[] _infoDiaConMasGasto; string[] _idsGastos; var context = new ExpensesEF.Entities(); //Info del día on més s'ha gastat System.Data.Entity.Core.Objects.ObjectParameter myInfoExpensesDay = new System.Data.Entity.Core.Objects.ObjectParameter("Res", typeof(string)); context.spGetInfoDiaMaxGastoMes(_SummaryMensual.Año, _SummaryMensual.Mes, _Usuari, myInfoExpensesDay); _infoDiaConMasGasto = myInfoExpensesDay.Value.ToString().Split('|'); //Si el dia és >0 hi ha hagut un dia amb gasto màxim if (int.Parse(_infoDiaConMasGasto[0]) > 0) { _Res += string.Format(Resources.Descripciones.mailDiaMasGasto, _infoDiaConMasGasto[0], _infoDiaConMasGasto[1]); _idsGastos = _infoDiaConMasGasto[2].Split(','); while (i < _idsGastos.Length) { idGasto = _idsGastos[i]; _Gasto = context.Gasto.Where(x => x.idGasto.ToString() == idGasto).FirstOrDefault(); i = i + 1; if (i == _idsGastos.Length) { if (i == 1) { _Res += "\"" + _Gasto.Concepto + "\""; } else { _Res = _Res.Substring(0, _Res.Length - 2); _Res += Resources.Descripciones.y + "\"" + _Gasto.Concepto + "\""; } } else { _Res += "\"" + _Gasto.Concepto + "\"" + ", "; } } _Res += ")."; } return(_Res); }
public ActionResult GastosRecurrentes() { //return PartialView("GastosRecurrentes"); GastosRecurrenteViewModels model = new GastosRecurrenteViewModels(); var context = new ExpensesEF.Entities(); string user; user = context.AspNetUsers.Where(x => x.Email == User.Identity.Name).FirstOrDefault().Id.ToString(); model.ImportePeriodicoMensual = context.GastoRecurrente.Where(x => x.idUserGastoRecurrente == user && x.Periocidad == 1).Sum(x => x.Precio); return(View("GastosRecurrentes", model)); }
public ActionResult getSubTiposTipoFirst() { var context = new ExpensesEF.Entities(); int id; string _codigo; _codigo = System.Threading.Thread.CurrentThread.CurrentCulture.ToString().Substring(0, 2); //Obtenim l'id del primer subtipus ordenat alfabèticament (és a dir, el mateix que es veurà a la CBO) id = context.TipoGastoTextosTraduccion.Where(x => x.TipoGasto.Activo == true && x.idIdioma == context.Idiomas.Where(y => y.codigo == _codigo).FirstOrDefault().idIdioma).OrderBy(x => x.Descripcion).FirstOrDefault().idTipoGasto; return(GetSubTiposTipo(id)); }
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")); }
public ActionResult getTiposGasto() { var context = new ExpensesEF.Entities(); IEnumerable <SelectListItem> lista; string _codigo; _codigo = System.Threading.Thread.CurrentThread.CurrentCulture.ToString().Substring(0, 2); lista = GetListTipoGastos(context.TipoGastoTextosTraduccion.Where(x => x.idIdioma == context.Idiomas.Where(y => y.codigo == _codigo).FirstOrDefault().idIdioma).OrderBy(x => x.Descripcion)); return(Json(lista.Select(x => new { idTipoGesto = x.Value, NombreTipoGasto = x.Text }).ToList(), JsonRequestBehavior.AllowGet)); }
private System.Net.Mail.MailMessage _GenerarEmail(ValuesEnvioEmail _Email) { var context = new ExpensesEF.Entities(); System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage(); msg.To.Add(context.AspNetUsers.Where(x => x.Id == _Email.idUser).FirstOrDefault().Email.ToString()); //msg.To.Add("*****@*****.**"); msg.From = new MailAddress("*****@*****.**", "expenses", System.Text.Encoding.UTF8); msg.Subject = Resources.Descripciones.mailSubject; msg.SubjectEncoding = System.Text.Encoding.UTF8; msg.Body = _CuerpoMensaje(_Email); msg.BodyEncoding = System.Text.Encoding.UTF8; msg.IsBodyHtml = true; return(msg); }
//lògica de l'estalvi a fi de mes private string _AhorroDelMes(SummaryTotal_Mensual _GastoMesAnterior, SummaryTotal_Mensual _Gasto2MesosEnrera, string _Usuari) { string _Res = ""; decimal _AhorroMes; var context = new ExpensesEF.Entities(); try { _AhorroMes = context.SummaryTotal_Mensual.Where(x => x.idUser == _Usuari && x.Año == _GastoMesAnterior.Año && x.Mes == _GastoMesAnterior.Mes).FirstOrDefault().AhorroFinDeMes.GetValueOrDefault(); if (_AhorroMes > 0) { _Res = string.Format(Resources.Descripciones.mailAhorroMesMayor, _AhorroMes); if (_Gasto2MesosEnrera.AhorroFinDeMes > 0) { _Res += string.Format(Resources.Descripciones.mailAhorroMesMayorY2MesesMayor, _GetMesLetras(_Gasto2MesosEnrera.Mes), _Gasto2MesosEnrera.AhorroFinDeMes); } else { _Res += string.Format(Resources.Descripciones.mailAhorroMesMayorY2MesesMenorOIgual, _GetMesLetras(_Gasto2MesosEnrera.Mes), Math.Abs(_Gasto2MesosEnrera.AhorroFinDeMes.GetValueOrDefault())); } } if (_AhorroMes == 0) { _Res = string.Format(Resources.Descripciones.mailAhorroMesIgual); } if (_AhorroMes < 0) { _Res = string.Format(Resources.Descripciones.mailAhorroMesMenor, Math.Abs(_AhorroMes)); if (_Gasto2MesosEnrera.AhorroFinDeMes > 0) { _Res += string.Format(Resources.Descripciones.mailAhorroMesMenorY2MesesMayor); } else { _Res += string.Format(Resources.Descripciones.mailAhorroMesMenorY2MesesMenorOIgual); } } } catch (Exception _ex) { } return(_Res); }
public ActionResult RptGastoMensual() { var context = new ExpensesEF.Entities(); experses.Models.ChartGastoMensual model = new experses.Models.ChartGastoMensual(); DateTime dtAnterior = new DateTime(); dtAnterior = DateTime.Now.AddMonths(-1); string _User = context.AspNetUsers.Where(x => x.Email == User.Identity.Name).FirstOrDefault().Id.ToString(); model.GastoMesActual = context.Gasto.Where(x => x.idUserGasto == _User && x.Fecha.Year == DateTime.Now.Year && x.Fecha.Month == DateTime.Now.Month).Sum(x => x.Precio); model.GastoMesAnterior = context.Gasto.Where(x => x.idUserGasto == _User && x.Fecha.Year == dtAnterior.Year && x.Fecha.Month == dtAnterior.Month).Sum(x => x.Precio); return(View(model)); }
public JsonResult GetGastoMensualDataComparado() { var context = new ExpensesEF.Entities(); string _User = context.AspNetUsers.Where(x => x.Email == User.Identity.Name).FirstOrDefault().Id.ToString(); List <object> chartActual = new List <object>(); List <object> chartPrev = new List <object>(); DateTime dt = new DateTime(); dt = DateTime.Now.AddMonths(-1); chartActual = GeneraDatesDataComparadoReport(_User, DateTime.Now.Year, DateTime.Now.Month); chartPrev = GeneraDatesDataComparadoReport(_User, dt.Year, dt.Month); return(Json(new { DatosActual = chartActual, DatosMesAnterior = chartPrev })); }
public ActionResult GetDefaultValueSubTipo(int id) { string _res; string _User; string _codigo; var context = new ExpensesEF.Entities(); try { _User = context.AspNetUsers.Where(x => x.Email == User.Identity.Name).FirstOrDefault().Id.ToString(); _codigo = System.Threading.Thread.CurrentThread.CurrentCulture.ToString().Substring(0, 2); _res = context.ValuesDefaultConcepto.Where(x => x.idUser == _User && x.idIdioma == context.Idiomas.Where(y => y.codigo == _codigo).FirstOrDefault().idIdioma&& x.idSubTipoGasto == id).FirstOrDefault().DefaultConcepto.ToString(); } catch (Exception _ex) { _res = ""; } return(Json(_res)); }
public ActionResult Add() { var model = new GastosViewModels(); string _codigo; string userId; _codigo = System.Threading.Thread.CurrentThread.CurrentCulture.ToString().Substring(0, 2); using (var context = new ExpensesEF.Entities()) { 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._PersonasACompartir = GetListItemsPersonas(context.AspNetUsers.Where(y => y.Email != System.Web.HttpContext.Current.User.Identity.Name).OrderBy(y => y.Email)); userId = context.AspNetUsers.Where(x => x.Email == User.Identity.Name).FirstOrDefault().Id.ToString(); model._idSelectedGrupoGasto = context.AspNetUsers.Where(u => u.Id == userId).FirstOrDefault().idGrupoGastoPorDefecto.GetValueOrDefault(); model._idDefaultTipoPagoGasto = context.AspNetUsers.Where(u => u.Id == userId).FirstOrDefault().idTipoPagoPorDefecto.GetValueOrDefault(); if (model._idSelectedGrupoGasto == 0) { model._idSelectedGrupoGasto = -1; } //Si no té tipus de pagament per defecte, li posem un "1" (efectiu) if (model._idDefaultTipoPagoGasto == 0) { model._idSelectedTipoPagoGasto = 1; } else { model._idSelectedTipoPagoGasto = model._idDefaultTipoPagoGasto; } model._TipoPagoList = context.TipoPagoTextosTraduccion.Where(x => (x.idIdioma == context.Idiomas.Where(y => y.codigo == _codigo).FirstOrDefault().idIdioma)).OrderBy(x => x.Descripcion).ToList(); model.Fecha = DateTime.Now; model._FormatoFecha = GetFormatoFecha(); } return(View(model)); }
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 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")); }
private List <object> GeneraDatesDataComparadoReport(string _User, int _Year, int _Month) { var context = new ExpensesEF.Entities(); List <object> chartData = new List <object>(); string _codigo = System.Threading.Thread.CurrentThread.CurrentCulture.ToString().Substring(0, 2); List <TipoGasto> TiposGasto = context.TipoGasto.Where(x => x.Activo == true).ToList(); var datos = context.Gasto.Where(x => x.idUserGasto == _User && (x.Fecha.Year == _Year && x.Fecha.Month == _Month)).GroupBy(y => y.idTipoGasto).Select(group => new { idTipoGasto = group.Key, Precio = group.Sum(x => x.Precio) }) .ToList(); chartData.Add(new object[] { "TipoGasto", expenses.Resources.Descripciones.RptGastoMensualGraph2 }); //Contruïm les dades del gràfic actual foreach (var Elem in TiposGasto) { var find = datos.FirstOrDefault(x => x.idTipoGasto == Elem.idTipoGasto); if (find != null) { chartData.Add(new object[] { context.TipoGastoTextosTraduccion.Where(x => x.idTipoGasto == Elem.idTipoGasto && (x.idIdioma == context.Idiomas.Where(y => y.codigo == _codigo).FirstOrDefault().idIdioma)).FirstOrDefault().Descripcion.ToString(), find.Precio }); } else { chartData.Add(new object[] { context.TipoGastoTextosTraduccion.Where(x => x.idTipoGasto == Elem.idTipoGasto && (x.idIdioma == context.Idiomas.Where(y => y.codigo == _codigo).FirstOrDefault().idIdioma)).FirstOrDefault().Descripcion.ToString(), 0 }); } } return(chartData); }
//Total gasto Anual private string _TotalGastosAnual(SummaryTotal_Mensual _GastoMesAnterior, string _Usuari) { string _Res = ""; var context = new ExpensesEF.Entities(); decimal _TotalAnualAcumulado, _TotalAnualAcumuladoAnyoAnterior, diferencia; try { _TotalAnualAcumulado = context.SummaryTotal_Mensual.Where(x => x.idUser == _Usuari && x.Año == _GastoMesAnterior.Año).Sum(x => x.GastoTotal); if (_GastoMesAnterior.Mes == 12) { //El darrer mes de l'any, només treiem el total. _Res += string.Format(Resources.Descripciones.mailTotalGastadoAnual, _TotalAnualAcumulado); } else { _Res += string.Format(Resources.Descripciones.mailTotalGastado, _TotalAnualAcumulado); _TotalAnualAcumuladoAnyoAnterior = context.SummaryTotal_Mensual.Where(x => x.idUser == _Usuari && x.Año == _GastoMesAnterior.Año - 1 && x.Mes <= _GastoMesAnterior.Mes).Sum(x => x.GastoTotal); diferencia = Math.Abs(_TotalAnualAcumulado - _TotalAnualAcumuladoAnyoAnterior); if (_TotalAnualAcumuladoAnyoAnterior < _TotalAnualAcumulado) { _Res = string.Format(Resources.Descripciones.mailTotalGastadoAnyoAnteriorMenos, _TotalAnualAcumulado, _TotalAnualAcumuladoAnyoAnterior, diferencia); } if (_TotalAnualAcumuladoAnyoAnterior == _TotalAnualAcumulado) { _Res = string.Format(Resources.Descripciones.mailTotalGastadoAnyoAnteriorIgual, _TotalAnualAcumulado); } if (_TotalAnualAcumuladoAnyoAnterior > _TotalAnualAcumulado) { _Res = string.Format(Resources.Descripciones.mailTotalGastadoAnyoAnteriorMas, _TotalAnualAcumulado, _TotalAnualAcumuladoAnyoAnterior, diferencia); } } } catch (Exception _ex) {} return(_Res); }
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)); }