public HttpResponseMessage Delete([FromBody] Models.warehouse warehouse)
        {
            try
            {
                bool deletewarehouse = warehouseRepository.DeleteWarehouse(warehouse.warehouse_id, warehouse.updated_by);

                var formatter = RequestFormat.JsonFormaterString();
                return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation {
                    output = "success", msg = "Warehouse Deleted Successfully."
                }, formatter));
            }
            catch (Exception ex)
            {
                var formatter = RequestFormat.JsonFormaterString();
                return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation {
                    output = "error", msg = ex.ToString()
                }, formatter));
            }
        }
        public HttpResponseMessage Put([FromBody] Models.warehouse warehouse)
        {
            try
            {
                if (string.IsNullOrEmpty(warehouse.warehouse_name))
                {
                    var formatter = RequestFormat.JsonFormaterString();
                    return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation {
                        output = "error", msg = "Warehouse Name is Empty"
                    }, formatter));
                }
                if (string.IsNullOrEmpty(warehouse.warehouse_type.ToString()))
                {
                    var formatter = RequestFormat.JsonFormaterString();
                    return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation {
                        output = "error", msg = "Please Select Warehouse Type"
                    }, formatter));
                }
                if (string.IsNullOrEmpty(warehouse.region_id.ToString()))
                {
                    var formatter = RequestFormat.JsonFormaterString();
                    return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation {
                        output = "error", msg = "Please Select Region "
                    }, formatter));
                }
                if (string.IsNullOrEmpty(warehouse.area_id.ToString()))
                {
                    var formatter = RequestFormat.JsonFormaterString();
                    return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation {
                        output = "error", msg = "Please Select Area"
                    }, formatter));
                }
                if (string.IsNullOrEmpty(warehouse.territory_id.ToString()))
                {
                    var formatter = RequestFormat.JsonFormaterString();
                    return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation {
                        output = "error", msg = "Please Select Territory"
                    }, formatter));
                }
                else
                {
                    Models.warehouse updatewarehouse = new Models.warehouse
                    {
                        warehouse_id      = warehouse.warehouse_id,
                        warehouse_name    = warehouse.warehouse_name,
                        warehouse_code    = warehouse.warehouse_code,
                        warehouse_address = warehouse.warehouse_address,
                        warehouse_type    = warehouse.warehouse_type,
                        region_id         = warehouse.region_id,
                        area_id           = warehouse.area_id,
                        territory_id      = warehouse.territory_id,
                        is_deleted        = false,
                        is_active         = warehouse.is_active,
                        updated_by        = warehouse.updated_by,
                        updated_date      = DateTime.Now
                    };

                    warehouseRepository.EditWarehouse(updatewarehouse);
                    var formatter = RequestFormat.JsonFormaterString();
                    return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation {
                        output = "success", msg = "Warehouse updated successfully"
                    }, formatter));
                }
            }
            catch (Exception ex)
            {
                var formatter = RequestFormat.JsonFormaterString();
                return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation {
                    output = "error", msg = ex.ToString()
                }, formatter));
            }
        }
        public HttpResponseMessage Post([FromBody] Models.warehouse warehouse)
        {
            try
            {
                if (string.IsNullOrEmpty(warehouse.warehouse_name))
                {
                    var formatter = RequestFormat.JsonFormaterString();
                    return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation {
                        output = "error", msg = "Warehouse Name is Empty"
                    }, formatter));
                }
                if (string.IsNullOrEmpty(warehouse.warehouse_type.ToString()))
                {
                    var formatter = RequestFormat.JsonFormaterString();
                    return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation {
                        output = "error", msg = "Please Select Warehouse Type"
                    }, formatter));
                }
                //if (string.IsNullOrEmpty(warehouse.party_id.ToString()))
                //{
                //    var formatter = RequestFormat.JsonFormaterString();
                //    return Request.CreateResponse(HttpStatusCode.OK, new Confirmation { output = "error", msg = "Please Select Party" }, formatter);

                //}

                else
                {
                    if (warehouseRepository.CheckDuplicateWarehouse(warehouse.warehouse_name))
                    {
                        var formatter = RequestFormat.JsonFormaterString();
                        return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation {
                            output = "error", msg = "Warehouse Already Exists"
                        }, formatter));
                    }
                    else
                    {
                        warehouse insert_warehouse = new warehouse
                        {
                            warehouse_name    = warehouse.warehouse_name,
                            warehouse_address = warehouse.warehouse_address,
                            warehouse_code    = warehouse.warehouse_code,
                            region_id         = warehouse.region_id,
                            area_id           = warehouse.area_id,
                            territory_id      = warehouse.territory_id,
                            is_active         = true,
                            is_deleted        = false,
                            created_by        = warehouse.created_by,
                            warehouse_type    = warehouse.warehouse_type
                        };

                        warehouseRepository.AddWarehouse(insert_warehouse);
                        var formatter = RequestFormat.JsonFormaterString();
                        return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation {
                            output = "success", msg = "Warehouse saved successfully"
                        }, formatter));
                    }
                }
            }
            catch (Exception ex)
            {
                var formatter = RequestFormat.JsonFormaterString();
                return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation {
                    output = "error", msg = ex.ToString()
                }, formatter));
            }
        }