public ActionResult Create([Bind(Include = "Nome,BI,NIF,DataNasc,Email,Telemovel,Morada,CodPostal,Fotografia,DataInscr,CategoriaFK")] Socios socio, HttpPostedFileBase foto2) { // atribui um username e uma data de inscrição a um novo sócio socio.UserName = socio.Email; socio.DataInscr = DateTime.Today; // determina o número de sócio a atribuir a um novo sócio int novoNumSocio = 0; try { novoNumSocio = db.Socios.Max(s => s.NumSocio) + 1; } catch (Exception) { // caso não existam dados na BD (null) novoNumSocio = 1; } // atribui um número de sócio a um novo sócio socio.NumSocio = novoNumSocio; // tentativa de registar um novo sócio try { // caso não haja um ficheiro selecionado if (foto2 == null) { ModelState.AddModelError("Fotografia", "Nenhum ficheiro selecionado!"); } // caso os dados introduzidos estejam consistentes com o model if (ModelState.IsValid) { // ref: http://haacked.com/archive/2010/07/16/uploading-files-with-aspnetmvc.aspx/ // caso haja um ficheiro selecionado e o tamanho seja superior a 0 if (foto2 != null && foto2.ContentLength > 0) { // obtém o nome do ficheiro var fileName = "n" + Convert.ToString(socio.NumSocio) + "_" + Path.GetFileName(foto2.FileName); // atribui o nome do ficheiro a um novo sócio socio.Fotografia = fileName; // adiciona um novo sócio db.Socios.Add(socio); // guarda as alterações na BD db.SaveChanges(); // guarda o ficheiro na pasta indicada var path = Path.Combine(Server.MapPath("~/App_Data/FotosSocios"), fileName); foto2.SaveAs(path); } // redireciona para a lista de sócios return(RedirectToAction("Index")); } } catch (Exception) { // cria uma mensagem de erro a ser apresentada ao utilizador ModelState.AddModelError("", string.Format("Não foi possível criar um novo sócio...O e-mail, o BI/CC e/ou o NIF já poderão existir.")); } ViewBag.CategoriaFK = new SelectList(db.Categorias, "CategoriaID", "Nome", socio.CategoriaFK); // volta para a view da criação do sócio return(View(socio)); }
public ActionResult Create([Bind(Include = "Descricao,EntidRespons")] Beneficios beneficio) { try { if (ModelState.IsValid) { db.Beneficios.Add(beneficio); db.SaveChanges(); return(RedirectToAction("Index")); } } catch (Exception) { ModelState.AddModelError("", string.Format("Não foi possível criar um novo benefício...")); } return(View(beneficio)); }
public ActionResult Create([Bind(Include = "Nome,NIF,Email,Telemovel,Morada,CodPostal,DataEntrClube")] Funcionarios funcionario) { try { if (ModelState.IsValid) { db.Funcionarios.Add(funcionario); db.SaveChanges(); return(RedirectToAction("Index")); } } catch (Exception) { ModelState.AddModelError("", string.Format("Não foi possível criar um novo funcionário...O NIF já poderá existir.")); } return(View(funcionario)); }
public ActionResult Create([Bind(Include = "Nome,FaixaEtaria,NumQuotasAnuais,AuxValorMensal")] Categorias categoria) { try { // recuperar, converter e atribuir o valor mensal da categoria categoria.ValorMensal = Convert.ToDecimal(categoria.AuxValorMensal); if (ModelState.IsValid) { db.Categorias.Add(categoria); db.SaveChanges(); return(RedirectToAction("Index")); } } catch (Exception) { ModelState.AddModelError("", string.Format("Não foi possível criar uma nova categoria...")); } return(View(categoria)); }
public ActionResult Create([Bind(Include = "Referencia,AuxMontante,Ano,Periodicidade,CategoriaFK")] Quotas quota) { try { // recuperar, converter e atribuir o valor do montante da quota quota.Montante = Convert.ToDecimal(quota.AuxMontante); if (ModelState.IsValid) { db.Quotas.Add(quota); db.SaveChanges(); return(RedirectToAction("Index")); } } catch (Exception) { ModelState.AddModelError("", string.Format("Não foi possível criar uma nova quota...A referência já poderá existir.")); } ViewBag.CategoriaFK = new SelectList(db.Categorias, "CategoriaID", "Nome", quota.CategoriaFK); return(View(quota)); }
public ActionResult Create([Bind(Include = "RefMultibanco,AuxMontante,DataPagam,DataPrevPagam,AuxMulta,QuotaFK,SocioFK,UserName,FuncionarioFK")] Pagamentos pagamento) { try { // recuperar, converter e atribuir o valor do montante e da multa do pagamento pagamento.Montante = Convert.ToDecimal(pagamento.AuxMontante); pagamento.Multa = Convert.ToDecimal(pagamento.AuxMulta); if (ModelState.IsValid) { db.Pagamentos.Add(pagamento); db.SaveChanges(); return(RedirectToAction("Index")); } } catch (Exception) { ModelState.AddModelError("", string.Format("Não foi possível criar um novo pagamento...A referência multibanco já poderá existir.")); } ViewBag.FuncionarioFK = new SelectList(db.Funcionarios, "FuncionarioID", "Nome", pagamento.FuncionarioFK); ViewBag.QuotaFK = new SelectList(db.Quotas, "QuotaID", "Referencia", pagamento.QuotaFK); ViewBag.SocioFK = new SelectList(db.Socios, "SocioID", "Nome", pagamento.SocioFK); return(View(pagamento)); }