public ActionResult Create([Bind(Include = "VeterinarioID,Nome,Rua,NumPorta,Andar,CodPostal,NIF,DataEntradaClinica,NumCedulaProf,DataInscOrdem,Faculdade")] Veterinarios veterinarios)
        {
            if (ModelState.IsValid)
            {
                db.Veterinarios.Add(veterinarios);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(veterinarios));
        }
        public ActionResult Create([Bind(Include = "DonoID,Nome,NIF")] Donos donos)
        {
            if (ModelState.IsValid)
            {
                db.Donos.Add(donos);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(donos));
        }
Esempio n. 3
0
        public ActionResult Create([Bind(Include = "AnimalID,Nome,Especie,Raca,Peso,Altura,DonosFK")] Animais animais)
        {
            if (ModelState.IsValid)
            {
                db.Animais.Add(animais);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.DonosFK = new SelectList(db.Donos, "DonoID", "Nome", animais.DonosFK);
            return(View(animais));
        }
        public ActionResult Create([Bind(Include = "Nome,NIF")] Donos dono)
        {
            //determinar o nº (ID) a atribuir ao novo DONO
            //criar a var, que recebe esse valor
            int novoID = 0;

            try
            {
                //determinar o novo ID
                //faz a mesma coisa que a de baixo

                /*    novoID = (from d in db.Donos
                 *            orderby d.DonoID descending
                 *            select d.DonoID).FirstOrDefault() + 1;
                 */
                novoID = db.Donos.Max(d => d.DonoID) + 1;
            }

            catch (SystemException)
            {
                //a tabela 'Donos' está vazia
                //não sendo possivel devolver o MAX de uma tabela
                //por isso, vou atribuir 'manualmente' o valor de 'novoID'
                novoID = 1;
            }
            //atribuir o 'novoID' ao objeto 'dono'
            dono.DonoID = novoID;
            try
            {
                if (ModelState.IsValid)
                {
                    db.Donos.Add(dono);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception)
            {
                //não consigo guardar as alterações
                //No minimo , preciso de notificar o utilizador que o processo falhou
                ModelState.AddModelError("", "Ocorreu um erro na adição do novo Dono.");
                //Notificar o 'administrador/programador' que ocorreu este erro
                //fazer :
                //1º enviar mail ao programador a informar da ocorrencia do erro
                //2º ter uma tabela , na BD, onde são reportados os erros:
                // - data
                // - metodo
                // - controller
                // - detalhes do erro
            }

            return(View(dono));
        }
Esempio n. 5
0
        public ActionResult Create([Bind(Include = "Nome,NIF")] Donos dono)
        {
            //determinar o ID a atribuir ao novo 'dono'
            int novoID = 0;

            try {
                //perguntar á BD qual o último DonoID
                novoID = db.Donos.Max(d => d.DonoID) + 1;
            } catch (Exception) {
                //não existe dados na BD
                //o MAX devolve NULL
                novoID = 1;
            }

            //outra forma
            //novoID = db.Donos.Last().DonoID + 1;
            //outra forma
            //novoID = (from d in db.Donos
            //          orderby d.DonoID descending
            //          select d.DonoID).FirstOrDefault() + 1;
            //outra forma
            //novoID = db.Donos.OrderByDescending(d => d.DonoID).FirstOrDefault().DonoID + 1;

            //atribuir o novo ID ao 'dono'
            dono.DonoID = novoID;
            try {
                if (ModelState.IsValid)   //confronta se os dados a ser introduzidos estão consistentes com o model

                //adicionar um novo 'dono'
                {
                    db.Donos.Add(dono);
                    //guardar as alteracoes
                    db.SaveChanges();
                    //redirecionar para a página de início
                    return(RedirectToAction("Index"));
                }
            } catch (Exception ex) {
                ModelState.AddModelError("",
                                         string.Format("Ocorreu um erro na operacão de guardar um novo Dono...")
                                         );
                //adicionar a uma classe ERRO
                //-id
                //-timestamp
                //-operacao que gerou o erro
                //-mensagem de erro(ex.Message)
                //-qual o utilizador que gerou o erro
                //-...
                //enviar email ao utilizador 'admin' a avisar da ocorrencia do erro
            }
            //se houver problemas, volta para a View do Create
            //com os dados do 'dono'
            return(View(dono));
        }
Esempio n. 6
0
        public ActionResult Create([Bind(Include = "ConsultaID,DataConsulta,VeterinarioFK,AnimalFK")] Consultas consultas)
        {
            if (ModelState.IsValid)
            {
                db.Consultas.Add(consultas);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.AnimalFK      = new SelectList(db.Animais, "AnimalID", "Nome", consultas.AnimalFK);
            ViewBag.VeterinarioFK = new SelectList(db.Veterinarios, "VeterinarioID", "Nome", consultas.VeterinarioFK);
            return(View(consultas));
        }
Esempio n. 7
0
        public ActionResult Create([Bind(Include = "Nome,NIF")] Donos dono)
        {
            //determinar o número (ID) a atribuir ao novo DONO
            //criar a variável que recebe esse valor
            int novoID = 0;

            //determinar o novoID

            /*   Em SQL
             *  string b=@"
             *      select d.donoID
             *      from donos d
             *      order by d.donosID desc
             *      limit 1
             *  ";
             */

            try {
                /* novoID = (from d in db.Donos
                 *         orderby d.DonoID descending
                 *         select d.DonoID
                 *        ).FirstOrDefault()+1;*/
                //outra hipótese

                /*
                 *  select max(d.DonoID)
                 *  from donos d
                 */



                novoID = db.Donos.Max(d => d.DonoID) + 1;
            }
            catch (System.Exception)
            {
                //a tabela donos está vazia, não sendo possível devolver o max de uma tabela vazia, por dar um resultado null, e é invávido somar com inteiro
                //atribuir o valor de 1 ao novoID "manualmente"
                novoID = 1;
            }
            //atribuir o 'novoID' ao objecto 'dono'
            dono.DonoID = novoID;

            try
            {
                if (ModelState.IsValid)
                {
                    db.Donos.Add(dono);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }
            catch (System.Exception)
            {
                //não consigo guardar as alterações
                //no mínimo informar o utilizador que não é possível guardar
                ModelState.AddModelError("", "FATAL ERROR!!! Não é possível adicionar novo dono.");
                // notificar o admin/progrmador que ocorreu este erro
                //fazer:
                //1ºenviar um mail ao programador a inormar a ocorrencia do erro
                //2ºter uma tabela na bd onde são reportados os erros:
                //data,método,controller,detalhes do erro
            }
            return(View(dono));
        }
Esempio n. 8
0
        public ActionResult Create([Bind(Include = "Nome,NIF")] Donos dono)
        {
            //determinar o ID a atribuir ao novo 'dono'
            int novoID = 0;

            try
            {
                novoID = db.Donos.Max(d => d.DonoID) + 1;
            }
            catch (Exception)
            {
                //não existe dados na BD o MAX devolve Null
                novoID = 1;
            }

            //outra forma
            // novoID = db.Donos.Last().DonoID + 1;
            //outra forma
            // novoID = (from d in db.Donos
            //           orderby d.DonoID descending
            //           select d.DonoID).FirstOrDefault() + 1;
            //outra forma
            // novoID = db.Donos.OrderByDescending(d => d.DonoID).FirstOrDefault().DonoID + 1;

            //atribuir o novoID ao 'dono'
            dono.DonoID = novoID;
            try
            {
                if (ModelState.IsValid) //confronta se os dados a ser introduzidos estão consisentes com o Model
                {
                    //adicionar um novo 'dono'
                    db.Donos.Add(dono);
                    //guardar as alterações
                    db.SaveChanges();
                    //redireccionar para a página de início
                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception)
            {
                //cria uma mensagem de erro
                //a ser apresentada ao utilizador
                ModelState.AddModelError("",
                                         string.Format("Ocorreu um erro na operação de guardar um novo Dono")
                                         );

                /*adicionar a uma classe ERRO
                 * -id
                 * -timestamp
                 * -operação que gerou o ERRO
                 * -mensagem de erro gerada pelo sistema (ex.Message)
                 * -qual o User que gerou o ERRO
                 * -...
                 *
                 * ENVIAR email ao utilizador 'Admin' a avisar da ocorrência do erro
                 *
                 * outras coisas consideradas importantes.....
                 * */
            }
            //se houver problemas, volta a VIEW do Create com os dados do 'dono'
            return(View(dono));
        }