Example #1
0
        public ActionResult CancelarServico(int?idServico)
        {
            FuncionarioController funcC = new FuncionarioController();

            if (idServico.HasValue)
            {
                var servico     = (from m in db.Servico where m.Id == idServico.Value select m).First();
                int idFatura    = servico.Id_Fatura;
                var fatura      = (from m in db.Fatura where m.Id == idFatura select m).First();
                var servicoFunc = servico.Funcionario;

                servico.SetEstadoCancalado();
                db.SaveChanges();
            }

            return(RedirectToAction("HistoricoServicos", "Cliente"));
        }
Example #2
0
        public ActionResult RequisitarServico(string cp, string rua, int?nrPorta, string apartamento)
        {
            FuncionarioController funcC = new FuncionarioController();
            var id_Pack = Helpers.CacheController.id_Pack;
            var data    = Helpers.CacheController.Data;

            var servs   = from m in db.Servico select m;
            int lengthS = servs.ToList <Servico>().Count;

            lengthS += 1;

            var fatur   = from m in db.Fatura select m;
            int lengthF = fatur.ToList <Fatura>().Count;

            lengthF += 1;

            string estado    = "Agendado";
            int    idCliente = Int32.Parse(User.Identity.Name);

            var     pack     = (from m in db.Pack where m.Id == id_Pack select m).First();
            decimal precoAux = pack.Preco;

            var localidade = (from m in db.CP_Localidade where m.Id == cp select m).ToList().FirstOrDefault();
            var cliente    = (from c in db.Cliente where c.Id == idCliente select c).ToList().FirstOrDefault();

            Fatura fact = new Fatura()
            {
                Id            = lengthF,
                Apartamento   = apartamento,
                CP            = cp,
                CP_Localidade = localidade,
                Data          = data,
                Id_Pack       = id_Pack,
                Localidade    = localidade.Localidade,
                NIF           = cliente.Id,
                Nome_Cliente  = cliente.Nome,
                Nome_Pack     = pack.Nome,
                Nr            = nrPorta.Value,
                Preco         = pack.Preco,
                Rua           = rua,
                Servico       = servs.Where(x => x.Id_Pack == id_Pack && (DbFunctions.TruncateTime(x.DataHora) == DbFunctions.TruncateTime(data))).ToList()
            };

            string comentario = "";

            Servico serv = new Servico(lengthS, data, precoAux, estado, apartamento, cp, rua, nrPorta.Value, idCliente, id_Pack, lengthF, comentario);

            if (ModelState.IsValid)
            {
                db.Fatura.Add(fact);
                db.SaveChanges();
                db.Servico.Add(serv);
                db.SaveChanges();
                funcC.AlocarFuncionarios(lengthS);
            }
            ViewBag.Message = "Serviço Registado Com Sucesso";

            ///////////////////////////////////////////Geração de Email com confirmação do serviço//////////////////////////////////////////////////////////
            string emailC = cliente.Email;
            string nomeP  = pack.Nome;
            string loc    = localidade.Localidade;

            Helpers.GeradorFaturas.ConfirmarServicoEmail(emailC, precoAux, data, nomeP, rua, loc, cp);
            /////////////////////////////////////////////////////////////////////////////////////////////////////

            return(RedirectToAction("Index", "Cliente"));
        }