예제 #1
0
 public CrudModel(CrudRequest request)
 {
     this.Id           = request.Id;
     this.FullName     = request.FullName;
     this.EmailAddress = request.EmailAddress;
     this.PhoneNumber  = request.PhoneNumber;
 }
예제 #2
0
        public ActionResult Details(int?Id = null)
        {
            CrudModel model = null;

            if (!Id.HasValue || Id.Value == 0)
            {
                return(RedirectToAction("Index"));
            }

            CrudRequest request = new CrudRequest(Id.Value);

            StringContent       content      = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json");
            HttpResponseMessage httpResponse = _client.PostAsync("api/Crud/GetRecord", content).Result;
            string data = httpResponse.Content.ReadAsStringAsync().Result;

            CrudResponse response = JsonConvert.DeserializeObject <CrudResponse>(data);

            if (response.Success)
            {
                model = new CrudModel(response.Crud);
                return(View(model));
            }

            return(RedirectToAction("Index"));
        }
예제 #3
0
        public bool Delete(CrudRequest request)
        {
            Database.Crud dbCrud = null;

            try
            {
                dbCrud = _context.Cruds.FirstOrDefault(__crud => __crud.CrudId.Equals(request.Id));

                if (dbCrud == null || dbCrud.CrudId == 0)
                {
                    return(false);
                }

                _context.Cruds.Remove(dbCrud);

                _context.SaveChanges();

                return(true);
            }
            catch (CrudException ex)
            {
                throw new CrudException("Ocorreu um erro na Alteração. Erro: " + ex.Message);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #4
0
        public ActionResult Edit(CrudModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            try
            {
                CrudRequest request = new CrudRequest(model.Id, model.FullName, model.EmailAddress, model.PhoneNumber);

                StringContent       content      = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json");
                HttpResponseMessage httpResponse = _client.PostAsync("api/Crud/Edit", content).Result;
                string data = httpResponse.Content.ReadAsStringAsync().Result;

                BaseResponse response = JsonConvert.DeserializeObject <BaseResponse>(data);
            }
            catch (CrudException ex)
            {
            }
            catch (Exception ex)
            {
            }

            return(RedirectToAction("Index"));
        }
예제 #5
0
        public bool Edit(CrudRequest request)
        {
            Database.Crud dbCrud = null;

            try
            {
                dbCrud = _context.Cruds.FirstOrDefault(__crud => __crud.CrudId.Equals(request.Id));

                if (dbCrud == null || dbCrud.CrudId == 0)
                {
                    return(false);
                }

                dbCrud.FullName     = request.FullName;
                dbCrud.EmailAddress = request.EmailAddress;
                dbCrud.PhoneNumber  = request.PhoneNumber;

                _context.SaveChanges();

                return(true);
            }
            catch (CrudException ex)
            {
                throw new CrudException("Ocorreu um erro na Alteração. Erro: " + ex.Message);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #6
0
        public bool Create(CrudRequest request)
        {
            try
            {
                Database.Crud dbCrud = new Database.Crud()
                {
                    FullName     = request.FullName,
                    EmailAddress = request.EmailAddress,
                    PhoneNumber  = request.PhoneNumber
                };

                _context.Cruds.Add(dbCrud);
                _context.SaveChanges();

                if (dbCrud.CrudId > 0)
                {
                    return(true);
                }
            }
            catch (CrudException ex)
            {
                throw new CrudException("Ocorreu um erro no Cadastro. Erro: " + ex.Message);
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(false);
        }
예제 #7
0
        public bool GetRecord(out CrudRequest Crud, CrudRequest request)
        {
            Database.Crud dbCrud = null;

            try
            {
                dbCrud = _context.Cruds
                         .FilterCruds(request)
                         .OrderBy(__crud => __crud.FullName)
                         .FirstOrDefault();

                if (dbCrud == null || dbCrud.CrudId == 0)
                {
                    throw new CrudException("O Registro solicitado não existe!");
                }

                Crud = new CrudRequest(dbCrud.CrudId, dbCrud.FullName, dbCrud.EmailAddress, dbCrud.PhoneNumber);

                return(true);
            }
            catch (CrudException ex)
            {
                throw new CrudException(ex.Message);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #8
0
        public bool GetRecords(out List <CrudRequest> Cruds, CrudRequest request)
        {
            List <Database.Crud> lstCruds = null;

            try
            {
                lstCruds = _context.Cruds
                           .FilterCruds(request)
                           .OrderBy(__crud => __crud.FullName)
                           .ToList();

                if (lstCruds == null || !lstCruds.Any())
                {
                    throw new CrudException("Não há registros a serem exibidos!");
                }

                Cruds = lstCruds.Select(__crud => new CrudRequest(__crud.CrudId, __crud.FullName, __crud.EmailAddress, __crud.PhoneNumber)).ToList();

                return(true);
            }
            catch (CrudException ex)
            {
                throw new CrudException("Ocorreu um erro ao recuperar os registros do banco de dados. Erro: " + ex.Message);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #9
0
        public ActionResult Delete(int?Id = null)
        {
            if (!Id.HasValue || Id.Value == 0)
            {
                return(RedirectToAction("Index"));
            }

            CrudRequest request = new CrudRequest(Id.Value);

            StringContent       content      = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json");
            HttpResponseMessage httpResponse = _client.PostAsync("api/Crud/Delete", content).Result;
            string data = httpResponse.Content.ReadAsStringAsync().Result;

            BaseResponse response = JsonConvert.DeserializeObject <BaseResponse>(data);

            return(RedirectToAction("Index"));
        }
예제 #10
0
        public BaseResponse Edit(CrudRequest request)
        {
            BaseResponse response = null;

            try
            {
                if (!_crud.ValidateName(request.FullName).Success)
                {
                    BaseValidation validateName = _crud.ValidateName(request.FullName);
                    throw new CrudException(validateName.Message);
                }

                if (!_crud.ValidateEmail(request.EmailAddress).Success)
                {
                    BaseValidation validateEmail = _crud.ValidateEmail(request.EmailAddress);
                    throw new CrudException(validateEmail.Message);
                }

                if (!_crud.ValidatePhoneNumber(request.PhoneNumber).Success)
                {
                    BaseValidation validatePhone = _crud.ValidatePhoneNumber(request.PhoneNumber);
                    throw new CrudException(validatePhone.Message);
                }

                if (_crud.Edit(request))
                {
                    response = new BaseResponse(true, "Alteração realizada com sucesso!");
                }
            }
            catch (CrudException ex)
            {
                response = new BaseResponse(false, ex.Message);
            }
            catch (Exception ex)
            {
                response = new BaseResponse(false, "Não foi possível realizar a alteração. Erro: " + ex.Message);
            }

            return(response);
        }
예제 #11
0
        public BaseResponse Delete(CrudRequest request)
        {
            BaseResponse response = null;

            try
            {
                if (_crud.Delete(request))
                {
                    response = new BaseResponse(true, "Exclusão realizada com sucesso!");
                }
            }
            catch (CrudException ex)
            {
                response = new BaseResponse(false, ex.Message);
            }
            catch (Exception ex)
            {
                response = new BaseResponse(false, "Não foi possível realizar a exclusão. Erro: " + ex.Message);
            }

            return(response);
        }
예제 #12
0
        public CrudResponse GetRecord(CrudRequest request)
        {
            CrudRequest  dbCrud   = null;
            CrudResponse response = null;

            try
            {
                if (_crud.GetRecord(out dbCrud, request))
                {
                    response = new CrudResponse(true, "Registro recuperado com sucesso!", dbCrud);
                }
            }
            catch (CrudException ex)
            {
                response = new CrudResponse(false, ex.Message);
            }
            catch (Exception ex)
            {
                response = new CrudResponse(false, "Não foi possível recuperar o registro. Erro: " + ex.Message);
            }

            return(response);
        }
예제 #13
0
        public CrudResponse GetRecords(CrudRequest request)
        {
            List <CrudRequest> lstCruds = null;
            CrudResponse       response = null;

            try
            {
                if (_crud.GetRecords(out lstCruds, request))
                {
                    response = new CrudResponse(true, "Registros recuperados com sucesso!", lstCruds);
                }
            }
            catch (CrudException ex)
            {
                response = new CrudResponse(false, ex.Message);
            }
            catch (Exception ex)
            {
                response = new CrudResponse(false, "Não foi possível recuperar os registros. Erro: " + ex.Message);
            }

            return(response);
        }
예제 #14
0
 public CrudResponse(bool success, string message, CrudRequest crud) : base(success, message)
 {
     this.Crud = crud;
 }
예제 #15
0
        public static IQueryable <Database.Crud> FilterCruds(this IQueryable <Database.Crud> Cruds, CrudRequest request)
        {
            IQueryable <Database.Crud> FilterCruds = Cruds;

            FilterCrudId(ref FilterCruds, request.Id);
            FilterFullName(ref FilterCruds, request.FullName);
            FilterEmailAddress(ref FilterCruds, request.EmailAddress);
            FilterPhoneNumber(ref FilterCruds, request.PhoneNumber);

            return(FilterCruds);
        }