public ActionResult EditarResidencia(ResListViewModel model) { if (model.ResEdit.NmRes.Length > 20) { @TempData["msg"] = "Nome da residência deve ser inferior a 20 caracteres"; @TempData["type"] = "error"; return(RedirectToAction("Index", "ResList")); } ResidenciaDAL resDAL = new ResidenciaDAL(); Residencia res = new Residencia(model.ResEdit.IdRes, model.ResEdit.NmRes, model.ResEdit.Status ? 1 : 0); if (model.ResEdit.Status == true) { UserResDAL usDAL = new UserResDAL(); IList <UserRes> listUR = new List <UserRes>(); listUR = usDAL.ListarPorUser(1); IList <Residencia> listRes = new List <Residencia>(); listRes = resDAL.ListarPorUser(listUR); foreach (var resid in listRes) { if (resid.TpRes == 1 && model.ResEdit.IdRes != resid.IdRes) { resid.TpRes = 0; resDAL.Alterar(resid); } } } @TempData["msg"] = "Residência atualizada com sucesso"; resDAL.Alterar(res); return(RedirectToAction("Index", "ResList")); }
public ActionResult CadastrarResidencia(ResListViewModel model) { if (model.Res.NmRes.Length > 20) { @TempData["msg"] = "Nome da residência deve ser inferior a 20 caracteres"; @TempData["type"] = "error"; return(RedirectToAction("Index", "ResList")); } ResidenciaDAL resDAL = new ResidenciaDAL(); //Garantir que só tenha um 1. if (model.Res.Status == true) { model.Res.TpRes = 1; UserResDAL usDAL = new UserResDAL(); IList <UserRes> listUR = new List <UserRes>(); listUR = usDAL.ListarPorUser(1); IList <Residencia> listRes = new List <Residencia>(); listRes = resDAL.ListarPorUser(listUR); foreach (var res in listRes) { if (res.TpRes == 1 && model.Res.IdRes != res.IdRes) { res.TpRes = 0; resDAL.Alterar(res); } } } else { model.Res.TpRes = 0; } resDAL.Inserir(model.Res); //Substituir para usuario dinamico! UserResDAL urDAL = new UserResDAL(); urDAL.Inserir(new UserRes(1, model.Res.IdRes)); @TempData["type"] = "success"; @TempData["msg"] = "Residência adicionada!"; return(RedirectToAction("Index", "ResList")); }
public ActionResult Index() { //Disponibilizar os dados do usuário para o layout //ViewBag.Usuario = usuario; //@{var usuario = (Andromeda.Models.Usuario)ViewBag.usuario;} ResListViewModel model = new ResListViewModel(); //Obter lista de residências relacionadas ao usuário IList <UserRes> listUr = new List <UserRes>(); UserResDAL urDAL = new UserResDAL(); listUr = urDAL.ListarPorUser(1); IList <Residencia> listRes = new List <Residencia>(); ResidenciaDAL resDAL = new ResidenciaDAL(); listRes = resDAL.ListarPorUser(listUr); model.ListRes = listRes; Session["res"] = listRes[0]; //Objeto a ser preenchido com a criação de uma nova residência model.Res = new Residencia(); //Objeto a ser alterado na edição de uma residência model.ResEdit = new Residencia(); //Gerar lista de Comodos atrelados a cada residencia List <List <Comodo> > listsCom = new List <List <Comodo> >(); ComodoDAL comDAL = new ComodoDAL(); foreach (Residencia res in listRes) { List <Comodo> listaComodo = (List <Comodo>)comDAL.ListarPorRes(res.IdRes); listsCom.Add(listaComodo); if (res.IdRes == listRes[0].IdRes) { Session["com"] = listaComodo; } } model.ListsComodo = listsCom; //Objeto a ser preenchido com a criação de um novo cômodo model.Com = new Comodo(); //Objeto a ser preenchido com a edição de cômodo model.ComEdit = new Comodo(); //Gerar lista de aparelhos para cada cômodo //1- Gerar lista de ComEle para cada cômodo List <List <ComEle> > listsComEle = new List <List <ComEle> >(); ComEleDAL ceDAL = new ComEleDAL(); foreach (List <Comodo> listCom in listsCom) { foreach (Comodo com in listCom) { listsComEle.Add((List <ComEle>)ceDAL.ListarPorCom(com.IdComodo)); } } //2- Gerar lista funcional de IEle + Id Comodo + Id ItemAparelho List <IEleTratado> listTratado = new List <IEleTratado>(); IEleDAL eDAL = new IEleDAL(); List <IEle> listaEle = new List <IEle>(); foreach (List <ComEle> listComEle in listsComEle) { foreach (ComEle comEle in listComEle) { IEleTratado tratado = new IEleTratado(); IEle item = eDAL.Consultar(comEle.IdIEle); tratado.IdComEle = comEle.IdComEle; tratado.IdIEle = item.IdIEle; tratado.NmIEle = item.NmIEle; tratado.IdCat = item.IdCat; tratado.VlConsumo = item.VlConKwh; tratado.Custo = item.VlCusto; tratado.IdComodo = comEle.IdComodo; tratado.QntConsumo = (int)comEle.QtTempoUso; listTratado.Add(tratado); foreach (Comodo com in (List <Comodo>)Session["com"]) { if (comEle.IdComodo == com.IdComodo) { listaEle.Add(item); } } } } Session["itens"] = listaEle; //3- Exportar objeto tratado para o modelo model.ListIEle = listTratado; //Objeto para adicao de novo item dentro de um comodo model.IEleAdd = new IEleAdd(); return(View(model)); //return View (listRes); }