public void Index()
        {
            // Arrange
            CustomerController controller = new CustomerController();
            var model = new CustomerDataInViewModel();

            model.CustomerId = "0000000001";

            var serviceViewModel = new CustomerDataServiceViewModel();

            serviceViewModel.CustomerId   = "0000000001";
            serviceViewModel.CustomerName = "哈囉你好嗎股份有限公司";
            serviceViewModel.CustomerAddr = "我們這一家";

            // Act
            ActionResult result = controller.GetCustomerData(model) as ActionResult;
            JObject      jo     = JsonConvert.DeserializeObject <JObject>(result.ToString());
            JArray       da     = jo.GetValue("data").ToObject <JArray>();
            var          actual = JsonConvert.DeserializeObject <IEnumerable <CustomerDataServiceViewModel> >(da.ToString());

            actual = actual.Where(p => p.CustomerId == model.CustomerId);

            // Assert
            Assert.AreEqual(serviceViewModel, actual);
        }
Exemple #2
0
        public ApiStatusViewModel <CustomerDataServiceViewModel> CreateCustomerData(CustomerDataInViewModel model)
        {
            var connectString   = ConfigurationManager.ConnectionStrings["CustomerApiConnection"].ConnectionString;
            var returnViewModel = new ApiStatusViewModel <CustomerDataServiceViewModel>();

            try
            {
                DataClassCustomerDataContext CustomerDataContext = new DataClassCustomerDataContext();
                CustomerData customer = new CustomerData();
                customer.CustomerId   = model.CustomerId;
                customer.CustomerName = model.CustomerName;
                customer.CustomerAddr = model.CustomerAddr;
                CustomerDataContext.CustomerData.InsertOnSubmit(customer);
                CustomerDataContext.SubmitChanges();
                returnViewModel.code    = "200";
                returnViewModel.message = "建立顧客成功!!";
            }
            catch (Exception e)
            {
                returnViewModel.code    = "500";
                returnViewModel.message = e.ToString();
            }

            return(returnViewModel);
        }
Exemple #3
0
        /// <summary>
        /// 新增顧客
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ActionResult CreateCustomerData(CustomerDataInViewModel model)
        {
            model.CustomerId   = "0000000001";
            model.CustomerName = "哈囉你好嗎股份有限公司";
            model.CustomerAddr = "我們這一家";
            var data = this.CustomerService.CreateCustomerData(model);

            return(Json(data, JsonRequestBehavior.AllowGet));
        }
Exemple #4
0
        public IEnumerable <CustomerDataServiceViewModel> GetCustomerData(CustomerDataInViewModel model, string connectString)
        {
            StringBuilder sqlcmd = new StringBuilder();

            sqlcmd.Append(@"
            select CustomerId,CustomerName,CustomerAddr FROM CustomerData WITH(NOLOCK) WHERE 1=1 ");

            if (model.CustomerId.Trim() != "")
            {
                sqlcmd.Append(" CustomerId=@CustomerId ");
            }
            if (model.KeyWord != "")
            {
                sqlcmd.Append(" CustomerName LIKE '%'+@CustomerId+'%' ");
            }

            var sqlExecutor = new SqlExecutor(new SqlConnection(connectString));
            var result      = sqlExecutor.Query <CustomerDataServiceViewModel>(sqlcmd.ToString(), model).AsEnumerable();

            return(result);
        }
Exemple #5
0
        public CustomerDataServiceViewModel DeleteCustomerData(CustomerDataInViewModel model, string connectString)
        {
            StringBuilder sqlcmd = new StringBuilder();

            sqlcmd.Append(@"
            DELETE CustomerData WHERE CustomerId=@CustomerId
            
            IF (@@ROWCOUNT > 0)
                BEGIN 
                select @CustomerId AS CustomerId,@CustomerName AS CustomerName,@CustomerAddr AS CustomerAddr
                END
            ELSE
                BEGIN
                SELECT NULL
                END");

            var sqlExecutor = new SqlExecutor(new SqlConnection(connectString));
            var result      = sqlExecutor.Query <CustomerDataServiceViewModel>(sqlcmd.ToString(), model).FirstOrDefault();

            return(result);
        }
Exemple #6
0
        public CustomerDataServiceViewModel CreateCustomerData(CustomerDataInViewModel model, string connectString)
        {
            StringBuilder sqlcmd = new StringBuilder();

            sqlcmd.Append(@"
            insert into CustomerData (CustomerId,CustomerName,CustomerAddr)
            values (@CustomerId,@CustomerName,@CustomerAddr) 
            
            IF (@@ROWCOUNT > 0)
                BEGIN
                select @CustomerId AS CustomerId,@CustomerName AS CustomerName,@CustomerAddr AS CustomerAddr                select CustomerId,CustomerName,CustomerAddr FROM CustomerData WITH(NOLOCK) WHERE  CustomerId=@CustomerId
                END
            ELSE
                BEGIN
                SELECT NULL
                END");

            var sqlExecutor = new SqlExecutor(new SqlConnection(connectString));
            var result      = sqlExecutor.Query <CustomerDataServiceViewModel>(sqlcmd.ToString(), model).FirstOrDefault();

            return(result);
        }
Exemple #7
0
        public ApiStatusViewModel <CustomerDataServiceViewModel> EditCustomerData(CustomerDataInViewModel model)
        {
            var connectString   = ConfigurationManager.ConnectionStrings["CustomerApiConnection"].ConnectionString;
            var returnViewModel = new ApiStatusViewModel <CustomerDataServiceViewModel>();

            try
            {
                DataClassCustomerDataContext CustomerDataContext = new DataClassCustomerDataContext();
                CustomerData customer = CustomerDataContext.CustomerData.Single(p => p.CustomerId == model.CustomerId);
                customer.CustomerName = "Andy";
                CustomerDataContext.SubmitChanges();
                returnViewModel.message = "修改顧客資料成功!!";

                returnViewModel.code = "200";
            }
            catch (Exception e)
            {
                returnViewModel.code    = "500";
                returnViewModel.message = e.ToString();
            }

            return(returnViewModel);
        }
Exemple #8
0
        public ApiStatusViewModel <IEnumerable <CustomerDataServiceViewModel> > GetCustomerData(CustomerDataInViewModel model)
        {
            var returnViewModel = new ApiStatusViewModel <IEnumerable <CustomerDataServiceViewModel> >();
            var connectString   = ConfigurationManager.ConnectionStrings["CustomerApiConnection"].ConnectionString;

            try
            {
                DataClassCustomerDataContext CustomerDataContext = new DataClassCustomerDataContext();
                var result = CustomerDataContext.CustomerData.AsEnumerable();

                var finalresult = result.Select(p => new CustomerDataServiceViewModel()
                {
                    CustomerName = p.CustomerName,
                    CustomerId   = p.CustomerId,
                    CustomerAddr = p.CustomerAddr
                });

                if (model.CustomerId.Trim() != "")
                {
                    finalresult = finalresult.Where(p => p.CustomerId == model.CustomerId);
                }
                if (model.KeyWord != "")
                {
                    finalresult = finalresult.Where(p => p.CustomerName.Contains(model.CustomerId)).AsQueryable();
                }
                returnViewModel.Data    = finalresult;
                returnViewModel.code    = "200";
                returnViewModel.message = "顧客資料存取成功!!";
            }
            catch (Exception e)
            {
                returnViewModel.code    = "500";
                returnViewModel.message = e.ToString();
            }
            return(returnViewModel);
        }
Exemple #9
0
        /// <summary>
        /// 刪除顧客
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ActionResult DeleteCustomerData(CustomerDataInViewModel model)
        {
            var data = this.CustomerService.DeleteCustomerData(model);

            return(Json(data, JsonRequestBehavior.AllowGet));
        }