public IHttpActionResult PostNewTaxGroup([FromBody] Tax_Group taxgroup)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Sorry there is some problem. Please check and try again"));
            }

            using (var ctx = new EasyBillingEntities())
            {
                if (taxgroup.GL_CODE != null)
                {
                    taxgroup.IsActive = true;

                    taxgroup.Tax_Token = (Guid.NewGuid()).ToString();
                    ctx.Tax_Groups.Add(taxgroup);
                    ctx.SaveChanges();
                }
                else
                {
                    return(BadRequest("State does not exists"));
                }
            }

            return(Ok());
        }
        public IHttpActionResult PutTaxGroup([FromBody] Tax_Group taxGroup)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Not a valid data"));
            }

            using (var ctx = new EasyBillingEntities())
            {
                var existingTaxGroup = ctx.Tax_Groups.Where(s => s.Tax_Token == taxGroup.Tax_Token).FirstOrDefault();

                if (existingTaxGroup != null)
                {
                    existingTaxGroup.Tax_Name = taxGroup.Tax_Name;

                    existingTaxGroup.Tax_Rate = taxGroup.Tax_Rate;
                    existingTaxGroup.IsActive = true;


                    ctx.SaveChanges();
                }
                else
                {
                    return(NotFound());
                }
            }

            return(Ok());
        }
        public ActionResult Edit(Tax_Group taxgroup)
        {
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri("http://localhost:8087/api/product");

                //HTTP POST
                var putTask = client.PutAsJsonAsync <Tax_Group>("http://localhost:8087/api/TaxGroup/PutTaxGroup", taxgroup);
                putTask.Wait();


                var result = putTask.Result;
                if (result.IsSuccessStatusCode)
                {
                    return(RedirectToAction("Index"));
                }
            }
            return(View(taxgroup));
        }
        public ActionResult Delete(string id, Tax_Group taxgroup)
        {
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri("http://localhost:8087/api/");

                //HTTP DELETE
                var deleteTask = client.DeleteAsync("http://localhost:8087/api/TaxGroup/Delete?id=" + id.ToString());
                deleteTask.Wait();

                var result = deleteTask.Result;
                if (result.IsSuccessStatusCode)
                {
                    return(RedirectToAction("Index"));
                }
            }

            return(RedirectToAction("Index"));
        }
        public ActionResult create(Tax_Group taxgroup)
        {
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri("http://localhost:8087/api/TaxGroup");

                //HTTP POST
                var postTask = client.PostAsJsonAsync("http://localhost:8087/api/TaxGroup/PostNewTaxGroup", taxgroup);
                postTask.Wait();

                var result = postTask.Result;
                if (result.IsSuccessStatusCode)
                {
                    return(RedirectToAction("Index"));
                }
            }

            ModelState.AddModelError(string.Empty, "Server Error. Please contact administrator.");

            return(View(taxgroup));
        }
        public ActionResult Edit(string id)
        {
            Tax_Group taxgroup = null;

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri("http://localhost:8087/api/GetMerchant");
                //HTTP GET
                var responseTask = client.GetAsync("http://localhost:8087/api/TaxGroup/GetAllTaxGroup?id=" + id.ToString());
                responseTask.Wait();

                var result = responseTask.Result;
                if (result.IsSuccessStatusCode)
                {
                    var readTask = result.Content.ReadAsAsync <Tax_Group>();
                    readTask.Wait();

                    taxgroup = readTask.Result;
                }
            }

            return(View(taxgroup));
        }