コード例 #1
0
        public HttpResponseMessage GetSendOrderSeed()
        {
            try
            {
                string org_oid = HttpContext.Current.Request.Form["Org_Oid"].ToString();
                string type    = HttpContext.Current.Request.Form["type"].ToString(); //รับ=1/ส่ง=2

                if (org_oid != "" && type != "")
                {
                    XpoTypesInfoHelper.GetXpoTypeInfoSource();
                    XafTypesInfo.Instance.RegisterEntity(typeof(SendOrderSeed));

                    List <SendOrderSeedType>    SendItems    = new List <SendOrderSeedType>();
                    List <ReceiveOrderSeedType> ReceiveItems = new List <ReceiveOrderSeedType>();
                    SendOrderSeedModel          lists        = new SendOrderSeedModel();
                    lists.org_oid = org_oid;

                    XPObjectSpaceProvider directProvider = new XPObjectSpaceProvider(scc, null);

                    IObjectSpace ObjectSpace = directProvider.CreateObjectSpace();

                    if (type == "2")
                    {  //หน่วยส่ง
                        IList <SendOrderSeed> collection = ObjectSpace.GetObjects <SendOrderSeed>(CriteriaOperator.Parse("GCRecord is null and SendStatus=1 and [SendOrgOid.Oid]='" + org_oid + "'", null));
                        var query = from Q in collection orderby Q.SendNo select Q;
                        if (collection.Count > 0)
                        {
                            foreach (SendOrderSeed row in query)
                            {
                                SendOrderSeedType item = new SendOrderSeedType();
                                item.SendNo             = row.SendNo;
                                item.SendDate           = row.SendDate.ToString("dd/MM/yyyy");
                                item.SendOrgOid         = row.SendOrgOid.Oid.ToString();
                                item.SendOrgName        = row.SendOrgOid.SubOrganizeName;
                                item.SendOrgFullName    = row.SendOrgOid.OrganizeNameTH;
                                item.Remark             = row.Remark;
                                item.SendStatus         = row.SendStatus.ToString();
                                item.FinanceYear        = row.FinanceYearOid.YearName;
                                item.CancelMsg          = row.CancelMsg;
                                item.ReceiveOrgOid      = row.ReceiveOrgOid.Oid.ToString();
                                item.ReceiveOrgName     = row.ReceiveOrgOid.SubOrganizeName;
                                item.ReceiveOrgFullName = row.ReceiveOrgOid.OrganizeNameTH;
                                item.RefNo = row.SendNo + "|" + row.SendOrgOid.Oid.ToString() + "|2";

                                item.TotalWeight = row.SendOrderSeedDetails.Sum((c => c.Weight)).ToString() + " กิโลกรัม";
                                SendItems.Add(item);
                            }
                        }
                        //lists.Sender = null; //SendItems;
                        return(Request.CreateResponse(HttpStatusCode.OK, SendItems));
                    }
                    else if (type == "1")
                    {  //รับ
                        IList <SendOrderSeed> collection2 = ObjectSpace.GetObjects <SendOrderSeed>(CriteriaOperator.Parse("GCRecord is null and SendStatus = 2 and  ReceiveStatus=1 and ReceiveOrgOid.Oid='" + org_oid + "'", null));
                        var query = from Q in collection2 orderby Q.SendNo select Q;
                        if (collection2.Count > 0)
                        {
                            foreach (SendOrderSeed row in query)
                            {
                                ReceiveOrderSeedType item = new ReceiveOrderSeedType();
                                item.SendNo             = row.SendNo;
                                item.SendDate           = row.SendDate.ToString("dd/MM/yyyy");
                                item.SendOrgOid         = row.SendOrgOid.Oid.ToString();
                                item.SendOrgName        = row.SendOrgOid.SubOrganizeName;
                                item.SendOrgFullName    = row.SendOrgOid.OrganizeNameTH;
                                item.Remark             = row.Remark;
                                item.ReceiveOrderStatus = row.ReceiveStatus.ToString();
                                item.FinanceYear        = row.FinanceYearOid.YearName;
                                item.CancelMsg          = row.CancelMsg;
                                item.ReceiveOrgOid      = row.ReceiveOrgOid.Oid.ToString();
                                item.ReceiveOrgName     = row.ReceiveOrgOid.SubOrganizeName;
                                item.ReceiveOrgFullName = row.ReceiveOrgOid.OrganizeNameTH;
                                item.RefNo       = row.SendNo + "|" + row.ReceiveOrgOid.Oid.ToString() + "|1";
                                item.TotalWeight = row.SendOrderSeedDetails.Sum((c => c.Weight)).ToString() + " กิโลกรัม";
                                ReceiveItems.Add(item);
                            }
                            directProvider.Dispose();
                            ObjectSpace.Dispose();
                            //lists.Receive = ReceiveItems;
                            return(Request.CreateResponse(HttpStatusCode.OK, ReceiveItems));
                        }
                    }

                    //invalid
                    UserError err = new UserError();
                    err.status  = "false";
                    err.code    = "0";
                    err.message = "กรุณาใส่ข้อมูล Org_Oid และ type ให้เรียบร้อยก่อน";
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, err));
                }
                else
                {
                    UserError err = new UserError();
                    err.status  = "false";
                    err.code    = "0";
                    err.message = "กรุณาใส่ข้อมูล Org_Oid ให้เรียบร้อยก่อน";
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, err));
                }
            }
            catch (Exception ex)
            {
                UserError err = new UserError();
                err.status  = "false";
                err.code    = "6"; // error จากสาเหตุอื่นๆ จะมีรายละเอียดจาก system แจ้งกลับ
                err.message = "ไม่พบข้อมูล";
                return(Request.CreateResponse(HttpStatusCode.BadRequest, err));
            }
            finally
            {
                SqlConnection.ClearAllPools();
            }
        }
コード例 #2
0
        public HttpResponseMessage GetSendOrderSeedDetail()
        {
            try
            {
                string RefNo = HttpContext.Current.Request.Form["RefNo"].ToString();

                if (RefNo != "")
                {
                    string[] arr      = RefNo.Split('|');
                    string   _refno   = arr[0]; //เลขที่อ้างอิง
                    string   _org_oid = arr[1]; //oid หน่วยงาน
                    string   _type    = arr[2]; //ประเภทส่ง(2)-รับ(1)

                    XpoTypesInfoHelper.GetXpoTypeInfoSource();
                    XafTypesInfo.Instance.RegisterEntity(typeof(nutrition.Module.SendOrderSeed));
                    SendOrderSeedType     item           = null;
                    XPObjectSpaceProvider directProvider = new XPObjectSpaceProvider(scc, null);
                    IObjectSpace          ObjectSpace    = directProvider.CreateObjectSpace();
                    IList <SendOrderSeed> collection     = ObjectSpace.GetObjects <SendOrderSeed>(CriteriaOperator.Parse("GCRecord is null and SendNo='" + _refno + "'", null));

                    foreach (SendOrderSeed row in collection)
                    {
                        item                    = new SendOrderSeedType();
                        item.SendNo             = row.SendNo;
                        item.SendDate           = row.SendDate.ToString("dd/MM/yyyy");
                        item.SendOrgOid         = row.SendOrgOid.Oid.ToString();
                        item.SendOrgName        = row.SendOrgOid.SubOrganizeName;
                        item.SendOrgFullName    = row.SendOrgOid.OrganizeNameTH;
                        item.Remark             = row.Remark;
                        item.SendStatus         = row.SendStatus.ToString();
                        item.FinanceYear        = row.FinanceYearOid.YearName;
                        item.CancelMsg          = row.CancelMsg;
                        item.ReceiveOrgOid      = row.ReceiveOrgOid.Oid.ToString();
                        item.ReceiveOrgName     = row.ReceiveOrgOid.SubOrganizeName;
                        item.ReceiveOrgFullName = row.ReceiveOrgOid.OrganizeNameTH;
                        item.RefNo              = RefNo;
                        item.TotalWeight        = row.SendOrderSeedDetails.Sum((c => c.Weight)).ToString();

                        List <SendOrderSeedDetailType> details = new List <SendOrderSeedDetailType>();
                        SendOrderSeedDetailType        _dt     = null;

                        foreach (SendOrderSeedDetail rw in row.SendOrderSeedDetails)
                        {
                            _dt = new SendOrderSeedDetailType();

                            _dt.LotNumber           = rw.LotNumber.LotNumber;
                            _dt.Amount              = rw.Amount;
                            _dt.Weight              = rw.Weight;
                            _dt.WeightUnitOid       = rw.WeightUnitOid.Oid.ToString();
                            _dt.WeightUnitName      = rw.WeightUnitOid.UnitName;
                            _dt.Used                = rw.Used;
                            _dt.SeedTypeOid         = rw.SeedTypeOid.Oid.ToString();
                            _dt.SeedTypeName        = rw.SeedTypeOid.SeedTypeName;
                            _dt.BudgetSourceOid     = rw.BudgetSourceOid.Oid.ToString();
                            _dt.BudgetSourceName    = rw.BudgetSourceOid.BudgetName;
                            _dt.AnimalSeeName       = rw.AnimalSeeName;
                            _dt.AnimalSeedOid       = rw.AnimalSeedOid.Oid.ToString();
                            _dt.AnimalSeedName      = rw.AnimalSeedOid.SeedName;
                            _dt.AnimalSeedLevelOid  = rw.AnimalSeedLevelOid.Oid.ToString();
                            _dt.AnimalSeedLevel     = rw.AnimalSeedLevel;
                            _dt.AnimalSeedLevelName = rw.AnimalSeedLevelOid.SeedLevelName;
                            _dt.AnimalSeedCode      = rw.AnimalSeedCode;
                            details.Add(_dt);
                        }

                        item.Details = details;
                    }
                    return(Request.CreateResponse(HttpStatusCode.OK, item));
                }
                else
                {
                    UserError err = new UserError();
                    err.status  = "false";
                    err.code    = "0";
                    err.message = "กรุณาใส่ข้อมูล RefNo ให้เรียบร้อยก่อน";
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, err));
                }
            }
            catch (Exception ex)
            {
                UserError err = new UserError();
                err.code    = "6"; // error จากสาเหตุอื่นๆ จะมีรายละเอียดจาก system แจ้งกลับ
                err.message = ex.Message;
                return(Request.CreateResponse(HttpStatusCode.BadRequest, err));
            }
            finally
            {
                SqlConnection.ClearAllPools();
            }
        }