コード例 #1
0
        public RestApiResult GetWagonByID(long id)
        {
            WagonSettlement wagonSettlement = ClarityDB.Instance.WagonSettlements.FirstOrDefault(x => x.ID == id);

            if (wagonSettlement == null)
            {
                return(new RestApiResult {
                    StatusCode = HttpStatusCode.NotFound
                });
            }

            return(new RestApiResult {
                StatusCode = HttpStatusCode.OK, Json = wagonSettlement.ToJson()
            });
        }
コード例 #2
0
        public RestApiResult Update(long id, JObject json)
        {
            WagonSettlement wagonSettlement = ClarityDB.Instance.WagonSettlements.FirstOrDefault(x => x.ID == id);

            if (wagonSettlement == null)
            {
                return(new RestApiResult {
                    StatusCode = HttpStatusCode.NotFound
                });
            }

            wagonSettlement.ApplyJson(json);
            ClarityDB.Instance.SaveChanges();
            return(new RestApiResult {
                StatusCode = HttpStatusCode.OK, Json = json
            });
        }
コード例 #3
0
        public RestApiResult Delete(long id)
        {
            WagonSettlement wagonSettlement = ClarityDB.Instance.WagonSettlements.FirstOrDefault(x => x.ID == id);

            if (wagonSettlement == null)
            {
                return(new RestApiResult {
                    StatusCode = HttpStatusCode.NotFound
                });
            }

            ClarityDB.Instance.WagonSettlements.Remove(wagonSettlement);
            ClarityDB.Instance.SaveChanges();

            return(new RestApiResult {
                StatusCode = HttpStatusCode.OK, Json = wagonSettlement.ToJson()
            });
        }
コード例 #4
0
        public RestApiResult Create(JObject json)
        {
            if (json == null)
            {
                return(new RestApiResult {
                    StatusCode = HttpStatusCode.BadRequest
                });
            }

            WagonSettlement wagonSettlement = WagonSettlement.FromJson(json);

            wagonSettlement.CreatedDate = DateTime.Now;

            ClarityDB.Instance.WagonSettlements.Add(wagonSettlement);
            ClarityDB.Instance.SaveChanges();

            return(new RestApiResult {
                StatusCode = HttpStatusCode.OK
            });
        }
コード例 #5
0
        public RestApiResult Update(long id, JObject json)
        {
            WagonSettlement wagonSettlement = ClarityDB.Instance.WagonSettlements.FirstOrDefault(x => x.ID == id);

            if (wagonSettlement == null)
            {
                return(new RestApiResult {
                    StatusCode = HttpStatusCode.NotFound
                });
            }

            wagonSettlement.ApplyJson(json);
            if (wagonSettlement.PaymentRemain == 0)
            {
                wagonSettlement.PaymentStatus = "Không Nợ";
            }

            var newPayment = json.Value <long>("newPayment");

            if (newPayment > 0 && !String.IsNullOrEmpty(wagonSettlement.PaymentDate))
            {
                wagonSettlement.Payment       += newPayment;
                wagonSettlement.PaymentRemain -= newPayment;

                Payment payment = new Payment();
                payment.PaymentDate         = wagonSettlement.PaymentDate;
                payment.PaymentAmount       = newPayment;
                payment.WagonSettlementCode = wagonSettlement.Code;
                payment.CreatedDate         = DateTime.Now;
                ClarityDB.Instance.Payments.Add(payment);

                Customer customer = ClarityDB.Instance.Customers.FirstOrDefault(x => x.ID == wagonSettlement.CustomerID);
                customer.NeedUpdatePayment = true;
            }

            ClarityDB.Instance.SaveChanges();

            return(new RestApiResult {
                StatusCode = HttpStatusCode.OK, Json = json
            });
        }
コード例 #6
0
        private void AddWagonSettlementsFromJson(long wagonID, JObject json)
        {
            Wagon wagon = ClarityDB.Instance.Wagons.FirstOrDefault(x => x.ID == wagonID);

            var wagonSettlementJsons = json.Value <JArray>("wagonSettlements");

            if (wagonSettlementJsons != null)
            {
                foreach (JObject wagonSettlementJson in wagonSettlementJsons)
                {
                    WagonSettlement wagonSettlement = WagonSettlement.FromJson(wagonSettlementJson);
                    wagonSettlement.ID           = 0; // prevent wrong order of WagonSettlements in Wagon
                    wagonSettlement.CreatedDate  = DateTime.Now;
                    wagonSettlement.PaymentDate  = wagon.PaymentDate;
                    wagonSettlement.PaymentPlace = wagon.PaymentPlace;
                    wagonSettlement.WagonID      = wagonID;
                    wagonSettlement.Code         = wagonSettlement.WagonID + "_" + wagonSettlement.CustomerID;
                    wagon.WagonSetlements.Add(wagonSettlement);
                }
                ClarityDB.Instance.SaveChanges();
            }
        }
コード例 #7
0
        private void AddWagonSettlementsFromJson(long wagonID, JObject json)
        {
            Wagon wagon = ClarityDB.Instance.Wagons.FirstOrDefault(x => x.ID == wagonID);

            var wagonSettlementJsons = json.Value <JArray>("wagonSettlements");

            if (wagonSettlementJsons != null)
            {
                foreach (JObject wagonSettlementJson in wagonSettlementJsons)
                {
                    WagonSettlement wagonSettlement = WagonSettlement.FromJson(wagonSettlementJson);
                    wagonSettlement.CreatedDate = DateTime.Now;
                    wagonSettlement.WagonID     = wagonID;
                    wagonSettlement.Code        = wagonSettlement.WagonCode + "_" + wagonSettlement.CustomerOrderID;
                    wagon.WagonSetlements.Add(wagonSettlement);

                    Customer customer = ClarityDB.Instance.Customers.FirstOrDefault(x => x.ID == wagonSettlement.CustomerID);
                    customer.NeedUpdatePayment = true;
                }
                ClarityDB.Instance.SaveChanges();
            }
        }