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));
 }
Esempio n. 3
0
 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));
 }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
 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));
        }