Example #1
0
        public HttpResponseMessage UpdateRodBreedUseEject()
        {
            //  object objStockAnimalInfo = null;
            HistoryWork           ObjHistory       = null;
            IList <StockSeedInfo> objStockSeedInfo = null;
            string Username = "******";

            try
            {
                //string RefNo = HttpContext.Current.Request.Form["RefNo"].ToString(); //ข้อมูลเลขที่อ้างอิง
                //string Status = HttpContext.Current.Request.Form["Status"].ToString(); //สถานะ
                //string CancelMsg = HttpContext.Current.Request.Form["Remark"].ToString(); //หมายเหตุ
                //Username = HttpContext.Current.Request.Form["Username"].ToString();

                string RefNo = HttpContext.Current.Request.Form["RefNo"].ToString();      //ข้อมูลเลขที่อ้างอิง
                                                                                          // string Status = HttpContext.Current.Request.Form["Status"].ToString(); //สถานะ
                string CancelMsg = HttpContext.Current.Request.Form["Remark"].ToString(); //หมายเหตุ
                Username = HttpContext.Current.Request.Form["Username"].ToString();

                if (RefNo != "")
                {
                    XpoTypesInfoHelper.GetXpoTypeInfoSource();
                    XafTypesInfo.Instance.RegisterEntity(typeof(nutrition.Module.SupplierRodBreedUseProduct));
                    XafTypesInfo.Instance.RegisterEntity(typeof(nutrition.Module.StockRodBreedInfo));
                    XafTypesInfo.Instance.RegisterEntity(typeof(nutrition.Module.StockRodBreedInfo_Report));
                    XafTypesInfo.Instance.RegisterEntity(typeof(nutrition.Module.HistoryWork));
                    XafTypesInfo.Instance.RegisterEntity(typeof(UserInfo));
                    XafTypesInfo.Instance.RegisterEntity(typeof(ReceiveLotNumber));

                    List <SupplierRodBreedUseProduct> list           = new List <SupplierRodBreedUseProduct>();
                    XPObjectSpaceProvider             directProvider = new XPObjectSpaceProvider(scc, null);
                    IObjectSpace ObjectSpace = directProvider.CreateObjectSpace();

                    UserInfo objUserInfo = ObjectSpace.FindObject <UserInfo>(CriteriaOperator.Parse("[UserName]=?", Username));

                    SupplierRodBreedUseProduct ObjMaster = ObjectSpace.FindObject <SupplierRodBreedUseProduct>(CriteriaOperator.Parse("UseNo=?", RefNo));

                    foreach (SupplierRodBreedUseProductDetail row in ObjMaster.SupplierRodBreedUseProductDetails)
                    {
                        if (ObjMaster.Status == EnumRodBreedProductSeedStatus.Approve || ObjMaster.Status == EnumRodBreedProductSeedStatus.Accepet)
                        {
                            var objCheckStockRodBreedInfo = ObjectSpace.GetObjects <StockRodBreedInfo>(CriteriaOperator.Parse("RodBreedProductNumber=? and FinanceYearOid=? and AnimalSeedOid=? and OrganizationOid=? and [SeedTypeOid]=?", row.SupplierRodBreedUseProductOid.UseNo, row.SupplierRodBreedUseProductOid.FinanceYearOid, row.AnimalSeedOid, row.SupplierRodBreedUseProductOid.OrganizationOid, row.SeedTypeOid));

                            var objStockRodBreedInfo_Detail = ObjectSpace.GetObjects <StockRodBreedInfo_Report>(CriteriaOperator.Parse("[FinanceYearOid]=? and [OrganizationOid]=? and [AnimalSeedOid]=? and [SeedTypeOid]=?", ObjMaster.FinanceYearOid, ObjMaster.OrganizationOid, row.AnimalSeedOid, row.SeedTypeOid));


                            if (objCheckStockRodBreedInfo.Count > 0)
                            {
                                //   'Update สถานะ IsApprove ให้เป็น True
                                var objStockRodBreedInfoEdit = ObjectSpace.FindObject <StockRodBreedInfo>(CriteriaOperator.Parse("[RodBreedProductNumber]=? and [FinanceYearOid]=? and [OrganizationOid]=? and [AnimalSeedOid]=? and [SeedTypeOid]=?", row.SupplierRodBreedUseProductOid.UseNo, row.SupplierRodBreedUseProductOid.FinanceYearOid, row.SupplierRodBreedUseProductOid.OrganizationOid, row.AnimalSeedOid, row.SeedTypeOid));
                                if (objStockRodBreedInfoEdit != null)
                                {
                                    objStockRodBreedInfoEdit.IsApprove = true;
                                }
                                //SqlParameter[] prm = new SqlParameter[10];
                                //prm[0] = new SqlParameter("@RodBreedProductNumber", row.SupplierRodBreedUseProductOid.UseNo.ToString());
                                //prm[1] = new SqlParameter("@FinanceYearOid", row.SupplierRodBreedUseProductOid.FinanceYearOid.Oid);
                                //prm[2] = new SqlParameter("@BudgetSourceOid", null);
                                //prm[3] = new SqlParameter("@AnimalSeedOid", row.AnimalSeedOid.Oid);
                                //prm[4] = new SqlParameter("@OrganizationOid", row.SupplierRodBreedUseProductOid.OrganizationOid.Oid);
                                //prm[5] = new SqlParameter("@Weight", row.Weight);
                                //prm[6] = new SqlParameter("@Remark", "คืนสต๊อกเนื่องจากไม่อนุมัติการใช้ท่อนพันธุ์  (Mobile Application)");
                                //prm[7] = new SqlParameter("@SeedTypeOid", row.SeedTypeOid.Oid);
                                //prm[8] = new SqlParameter("@IsApprove", true);
                                //prm[9] = new SqlParameter("@Description", null);
                                //SqlHelper.ExecuteNonQuery(scc, CommandType.StoredProcedure, "SP_StockRodBreedInfo", prm);

                                var objStockRodBreedInfo = ObjectSpace.CreateObject <StockRodBreedInfo>();
                                {
                                    objStockRodBreedInfo.TransactionDate       = DateTime.Now;
                                    objStockRodBreedInfo.RodBreedProductNumber = row.SupplierRodBreedUseProductOid.UseNo;
                                    objStockRodBreedInfo.FinanceYearOid        = row.SupplierRodBreedUseProductOid.FinanceYearOid;
                                    // '.BudgetSourceOid = objCheckStockRodBreedInfo(0).BudgetSourceOid
                                    objStockRodBreedInfo.AnimalSeedOid   = row.AnimalSeedOid;
                                    objStockRodBreedInfo.OrganizationOid = row.SupplierRodBreedUseProductOid.OrganizationOid;
                                    objStockRodBreedInfo.Weight          = row.Weight;
                                    objStockRodBreedInfo.Remark          = "คืนสต๊อกเนื่องจากไม่อนุมัติการใช้ท่อนพันธุ์ (Mobile Application)";
                                    objStockRodBreedInfo.SeedTypeOid     = row.SeedTypeOid;
                                    objStockRodBreedInfo.IsApprove       = true;
                                }
                            }
                            //                ''Stock สำหรับ กปศ4ว

                            //if (ObjMaster.Status == EnumRodBreedProductSeedStatus.Approve || ObjMaster.Status == EnumRodBreedProductSeedStatus.Accepet)
                            //{
                            objStockRodBreedInfo_Detail = ObjectSpace.GetObjects <StockRodBreedInfo_Report>(CriteriaOperator.Parse("[FinanceYearOid]=? and [OrganizationOid]=? and [AnimalSeedOid]=? and [SeedTypeOid]=?", ObjMaster.FinanceYearOid, ObjMaster.OrganizationOid, row.AnimalSeedOid, row.SeedTypeOid));
                            if (objStockRodBreedInfo_Detail.Count > 0)
                            {
                                var objStockRodBreedInfo_DetailNew = ObjectSpace.CreateObject <StockRodBreedInfo_Report>();
                                //'Update สถานะ IsApprove ให้เป็น True
                                var objStockRodBreedInfoEdit = ObjectSpace.FindObject <StockRodBreedInfo_Report>(CriteriaOperator.Parse("[RodBreedProductNumber]=? and [FinanceYearOid]=? and [OrganizationOid]=? and [AnimalSeedOid]=? and [SeedTypeOid]=?", row.SupplierRodBreedUseProductOid.UseNo, row.SupplierRodBreedUseProductOid.FinanceYearOid, row.SupplierRodBreedUseProductOid.OrganizationOid, row.AnimalSeedOid, row.SeedTypeOid));
                                if (objStockRodBreedInfoEdit != null)
                                {
                                    objStockRodBreedInfoEdit.IsApprove = true;
                                }
                                var ObjStockRodBreedInfo_DetailSource = (from Item in objStockRodBreedInfo_Detail
                                                                         orderby Item.TransactionDate descending
                                                                         select Item).First();
                                objStockRodBreedInfo_DetailNew.TransactionDate       = DateTime.Now;
                                objStockRodBreedInfo_DetailNew.RodBreedProductNumber = ObjMaster.UseNo;
                                objStockRodBreedInfo_DetailNew.FinanceYearOid        = ObjMaster.FinanceYearOid;
                                // .BudgetSourceOid = objStockRodBreedInfo_Detail(0).BudgetSourceOid
                                objStockRodBreedInfo_DetailNew.OrganizationOid = ObjMaster.OrganizationOid;
                                objStockRodBreedInfo_DetailNew.AnimalSeedOid   = row.AnimalSeedOid;
                                objStockRodBreedInfo_DetailNew.TotalForward    = ObjStockRodBreedInfo_DetailSource.TotalWeight;
                                objStockRodBreedInfo_DetailNew.TotalChange     = row.Weight;
                                objStockRodBreedInfo_DetailNew.SeedTypeOid     = row.SeedTypeOid;
                                objStockRodBreedInfo_DetailNew.Description     = "คืนสต๊อกเนื่องจากไม่อนุมัติการใช้ท่อนพันธุ์ : " + ObjMaster.OrganizationOid.SubOrganizeName + "(Mobile Application)";
                                objStockRodBreedInfo_DetailNew.IsApprove       = true;
                            }
                        }
                        //}
                    }
                    //     SupplierSproutUseProduct TmpObjMaster ;
                    ObjMaster.CancelMsg  = CancelMsg;
                    ObjMaster.Status     = EnumRodBreedProductSeedStatus.Eject;
                    ObjMaster.CancelBy   = objUserInfo.DisplayName;
                    ObjMaster.ActionType = EnumAction.Eject;
                    ObjMaster.CancelDate = DateTime.Now;

                    ObjHistory = ObjectSpace.CreateObject <HistoryWork>();
                    // ประวัติ
                    ObjHistory.RefOid     = ObjMaster.Oid.ToString();
                    ObjHistory.FormName   = "ท่อนพันธุ์";
                    ObjHistory.Message    = "ไม่อนุมัติ (ขอใช้ท่อนพันธุ์ (Mobile Application)) ลำดับที่ : " + ObjMaster.UseNo;
                    ObjHistory.CreateBy   = objUserInfo.UserName;
                    ObjHistory.CreateDate = DateTime.Now;
                    ObjectSpace.CommitChanges();

                    UpdateResult ret = new UpdateResult();
                    ret.status  = "true";
                    ret.message = "บันทึกข้อมูลไม่อนุมัติเรียบร้อยแล้ว";
                    return(Request.CreateResponse(HttpStatusCode.OK, ret));
                }
                else
                {
                    UpdateResult ret = new UpdateResult();
                    ret.status  = "False";
                    ret.message = "กรุณากรอก RefNo";
                    return(Request.CreateResponse(HttpStatusCode.NotFound, ret));
                }
            }
            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();
            }
        }
        public HttpResponseMessage UpdateSendOrderSeed()
        {
            QualityAnalysis objQualityAnalysis = null;
            //  object objStockAnimalInfo = null;
            HistoryWork           ObjHistory       = null;
            IList <StockSeedInfo> objStockSeedInfo = null;
            string Username = "******";

            try
            {
                string RefNo     = HttpContext.Current.Request.Form["RefNo"].ToString();     //ข้อมูลเลขที่อ้างอิง
                string Status    = HttpContext.Current.Request.Form["Status"].ToString();    //สถานะ
                string CancelMsg = HttpContext.Current.Request.Form["CancelMsg"].ToString(); //หมายเหตุ
                Username = HttpContext.Current.Request.Form["Username"].ToString();

                if (RefNo != "" && Status != "")
                {
                    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));
                    XafTypesInfo.Instance.RegisterEntity(typeof(nutrition.Module.StockSeedInfo));
                    XafTypesInfo.Instance.RegisterEntity(typeof(nutrition.Module.QualityAnalysis));
                    XafTypesInfo.Instance.RegisterEntity(typeof(nutrition.Module.HistoryWork));
                    XafTypesInfo.Instance.RegisterEntity(typeof(nutrition.Module.SupplierProductModifyDetail));
                    XafTypesInfo.Instance.RegisterEntity(typeof(nutrition.Module.SupplierProductModify));
                    XafTypesInfo.Instance.RegisterEntity(typeof(UserInfo));
                    XafTypesInfo.Instance.RegisterEntity(typeof(ReceiveLotNumber));

                    List <SendOrderSeed>  list           = new List <SendOrderSeed>();
                    XPObjectSpaceProvider directProvider = new XPObjectSpaceProvider(scc, null);
                    IObjectSpace          ObjectSpace    = directProvider.CreateObjectSpace();

                    UserInfo objUserInfo = ObjectSpace.FindObject <UserInfo>(CriteriaOperator.Parse("[UserName]=?", Username));

                    SendOrderSeed ObjMaster = ObjectSpace.FindObject <SendOrderSeed>(CriteriaOperator.Parse("SendNo=?", _refno));

                    if (_type == "1") //รับ
                    {
                        if (Status == "1")
                        { //Approve
                            foreach (SendOrderSeedDetail row in ObjMaster.SendOrderSeedDetails)
                            {
                                SupplierProductModifyDetail objSupplierProduct = ObjectSpace.FindObject <SupplierProductModifyDetail>(CriteriaOperator.Parse("Oid=?", row.LotNumber.Oid));
                                if (objSupplierProduct != null)
                                {
                                    objStockSeedInfo = ObjectSpace.GetObjects <StockSeedInfo>(CriteriaOperator.Parse("OrganizationOid= ? and FinanceYearOid=? and BudgetSourceOid=? and AnimalSeedOid=? and AnimalSeedLevelOid=? and StockType=1 and ReferanceCode=? ", ObjMaster.ReceiveOrgOid.Oid, ObjMaster.FinanceYearOid.Oid, objSupplierProduct.BudgetSourceOid, objSupplierProduct.AnimalSeedOid.Oid, objSupplierProduct.AnimalSeedLevelOid.Oid, row.LotNumber.LotNumberFactory));

                                    if (objStockSeedInfo.Count > 0)
                                    {
                                        var ObjSubStockCardSource = (from Item in objStockSeedInfo orderby Item.StockDate descending select Item).First().TotalWeight;
                                        var ObjStockSeedInfoInfo  = ObjectSpace.CreateObject <StockSeedInfo>();
                                        ObjStockSeedInfoInfo.StockDate          = DateTime.Today;
                                        ObjStockSeedInfoInfo.OrganizationOid    = ObjMaster.ReceiveOrgOid;
                                        ObjStockSeedInfoInfo.FinanceYearOid     = ObjMaster.FinanceYearOid;
                                        ObjStockSeedInfoInfo.BudgetSourceOid    = objSupplierProduct.BudgetSourceOid;
                                        ObjStockSeedInfoInfo.AnimalSeedOid      = objSupplierProduct.AnimalSeedOid;
                                        ObjStockSeedInfoInfo.AnimalSeedLevelOid = objSupplierProduct.AnimalSeedLevelOid;
                                        ObjStockSeedInfoInfo.StockDetail        = "รับเมล็ดพันธุ์ Lot Number : " + row.LotNumber.LotNumberFactory + "(Mobile Application)";
                                        ObjStockSeedInfoInfo.TotalForward       = ObjSubStockCardSource;
                                        ObjStockSeedInfoInfo.TotalChange        = row.Weight;
                                        ObjStockSeedInfoInfo.StockType          = EnumStockType.ReceiveProduct;
                                        ObjStockSeedInfoInfo.SeedTypeOid        = objSupplierProduct.SeedTypeOid;
                                        ObjStockSeedInfoInfo.ReferanceCode      = row.LotNumber.LotNumberFactory;
                                        ObjStockSeedInfoInfo.Description        = "รับเมล็ดพันธุ์จาก : " + ObjMaster.SendOrgOid.SubOrganizeName + "(Mobile Application)";
                                        ObjStockSeedInfoInfo.UseNo = ObjMaster.SendNo;
                                        ObjectSpace.CommitChanges();
                                    }
                                    else
                                    {
                                        var ObjStockSeedInfoInfo = ObjectSpace.CreateObject <StockSeedInfo>();
                                        ObjStockSeedInfoInfo.StockDate          = DateTime.Now;
                                        ObjStockSeedInfoInfo.OrganizationOid    = ObjMaster.ReceiveOrgOid;
                                        ObjStockSeedInfoInfo.FinanceYearOid     = ObjMaster.FinanceYearOid;
                                        ObjStockSeedInfoInfo.BudgetSourceOid    = objSupplierProduct.BudgetSourceOid;
                                        ObjStockSeedInfoInfo.AnimalSeedOid      = objSupplierProduct.AnimalSeedOid;
                                        ObjStockSeedInfoInfo.AnimalSeedLevelOid = objSupplierProduct.AnimalSeedLevelOid;
                                        ObjStockSeedInfoInfo.StockDetail        = "รับเมล็ดพันธุ์ Lot Number : " + row.LotNumber.LotNumberFactory + "(Mobile Application)";
                                        ObjStockSeedInfoInfo.TotalForward       = 0;
                                        ObjStockSeedInfoInfo.TotalChange        = row.Weight;
                                        ObjStockSeedInfoInfo.StockType          = EnumStockType.ReceiveProduct;
                                        ObjStockSeedInfoInfo.SeedTypeOid        = objSupplierProduct.SeedTypeOid;
                                        ObjStockSeedInfoInfo.ReferanceCode      = row.LotNumber.LotNumberFactory;
                                        ObjStockSeedInfoInfo.Description        = "รับเมล็ดพันธุ์จาก : " + ObjMaster.SendOrgOid.SubOrganizeName + "(Mobile Application)";
                                        ObjStockSeedInfoInfo.UseNo = ObjMaster.SendNo;
                                        ObjectSpace.CommitChanges();
                                    }
                                    SupplierProductModifyDetail objAddSupplierProductModifyDetail = ObjectSpace.FindObject <SupplierProductModifyDetail>(CriteriaOperator.Parse("LotNumberFactory=? and OrganizationOid=?", objSupplierProduct.LotNumberFactory, ObjMaster.ReceiveOrgOid.Oid));
                                    if (objAddSupplierProductModifyDetail != null)
                                    {
                                        objAddSupplierProductModifyDetail                    = ObjectSpace.CreateObject <SupplierProductModifyDetail>();
                                        objAddSupplierProductModifyDetail.LotNumber          = objSupplierProduct.LotNumber;
                                        objAddSupplierProductModifyDetail.LotNumberFactory   = objSupplierProduct.LotNumberFactory;
                                        objAddSupplierProductModifyDetail.FactoryName        = objSupplierProduct.FactoryName;
                                        objAddSupplierProductModifyDetail.WeightSend         = objSupplierProduct.WeightSend;
                                        objAddSupplierProductModifyDetail.SendUnitOid        = objSupplierProduct.SendUnitOid;
                                        objAddSupplierProductModifyDetail.WeightBefore       = objSupplierProduct.WeightBefore;
                                        objAddSupplierProductModifyDetail.BeforeUnitOid      = objSupplierProduct.BeforeUnitOid;
                                        objAddSupplierProductModifyDetail.WeightAfter        = objSupplierProduct.WeightAfter;
                                        objAddSupplierProductModifyDetail.AfterUnitOid       = objSupplierProduct.AfterUnitOid;
                                        objAddSupplierProductModifyDetail.AnimalSeedOid      = objSupplierProduct.AnimalSeedOid;
                                        objAddSupplierProductModifyDetail.AnimalSeedLevelOid = objSupplierProduct.AnimalSeedLevelOid;
                                        objAddSupplierProductModifyDetail.BudgetSourceOid    = objSupplierProduct.BudgetSourceOid;
                                        objAddSupplierProductModifyDetail.Moisture           = objSupplierProduct.Moisture;
                                        objAddSupplierProductModifyDetail.Purity             = objSupplierProduct.Purity;
                                        objAddSupplierProductModifyDetail.OtherSeed          = objSupplierProduct.OtherSeed;
                                        objAddSupplierProductModifyDetail.Weight             = objSupplierProduct.Weight;
                                        objAddSupplierProductModifyDetail.UnitOid            = objSupplierProduct.UnitOid;
                                        objAddSupplierProductModifyDetail.Germination        = objSupplierProduct.Germination;
                                        objAddSupplierProductModifyDetail.SeedTypeOid        = objSupplierProduct.SeedTypeOid;
                                        objAddSupplierProductModifyDetail.OrganizationOid    = ObjMaster.ReceiveOrgOid;
                                    }
                                }
                                Organization     objOrganizationOid  = ObjectSpace.FindObject <Organization>(CriteriaOperator.Parse("Oid=?", objUserInfo.Organization.Oid.ToString()));
                                ReceiveLotNumber objReceiveLotNumber = ObjectSpace.FindObject <ReceiveLotNumber>(CriteriaOperator.Parse("OrganizationOid=? and LotNumber=? and [IsActive]=1", objOrganizationOid.Oid, row.LotNumber.LotNumberFactory));
                                if (objReceiveLotNumber != null)
                                {
                                    objReceiveLotNumber = ObjectSpace.CreateObject <ReceiveLotNumber>();
                                    SupplierProductModifyDetail objModifyDetail = ObjectSpace.FindObject <SupplierProductModifyDetail>(CriteriaOperator.Parse("LotNumberFactory=?", row.LotNumber.LotNumberFactory));
                                    objReceiveLotNumber.AnimalSeedOid      = objModifyDetail.AnimalSeedOid;
                                    objReceiveLotNumber.AnimalSeedLevelOid = objModifyDetail.AnimalSeedLevelOid;
                                    objReceiveLotNumber.BudgetSourceOid    = ObjectSpace.GetObject <BudgetSource>(row.BudgetSourceOid);
                                    objReceiveLotNumber.OrganizationOid    = objOrganizationOid;
                                    objReceiveLotNumber.LotNumber          = row.LotNumber.LotNumberFactory;
                                    objReceiveLotNumber.SeedTypeOid        = objSupplierProduct.SeedTypeOid;
                                    objReceiveLotNumber.IsActive           = true;
                                }
                            }
                            ObjHistory = ObjectSpace.CreateObject <HistoryWork>();
                            // ประวัติ
                            ObjHistory.RefOid     = ObjMaster.Oid.ToString();
                            ObjHistory.FormName   = "เมล็ดพันธุ์";
                            ObjHistory.Message    = "อนุมัติ (รับเมล็ดพันธุ์จากหน่วยงานในสังกัด (Mobile Application)) เลขที่ส่ง : " + ObjMaster.SendNo;
                            ObjHistory.CreateBy   = SecuritySystem.CurrentUserName;
                            ObjHistory.CreateDate = DateTime.Now;
                            ObjectSpace.CommitChanges();
                            ObjMaster.ReceiveStatus = EnumReceiveOrderSeedStatus.Approve;
                            ObjectSpace.CommitChanges();
                        }

                        else if (Status == "2")
                        { //Reject
                            if (ObjMaster.SendStatus == EnumSendOrderSeedStatus.Approve)
                            {
                                foreach (SendOrderSeedDetail row in ObjMaster.SendOrderSeedDetails)
                                {
                                    SupplierProductModifyDetail objSupplierProduct = ObjectSpace.FindObject <SupplierProductModifyDetail>(CriteriaOperator.Parse("Oid=?", row.LotNumber.Oid));
                                    if (objSupplierProduct != null)
                                    {
                                        objStockSeedInfo = ObjectSpace.GetObjects <StockSeedInfo>(CriteriaOperator.Parse("OrganizationOid= ? and FinanceYearOid=? and BudgetSourceOid=? and AnimalSeedOid=? and AnimalSeedLevelOid=? and StockType=1 and ReferanceCode=? ", ObjMaster.ReceiveOrgOid.Oid, ObjMaster.FinanceYearOid.Oid, objSupplierProduct.BudgetSourceOid, objSupplierProduct.AnimalSeedOid.Oid, objSupplierProduct.AnimalSeedLevelOid.Oid, row.LotNumber.LotNumberFactory));
                                        if (objStockSeedInfo.Count > 0)
                                        {
                                            var ObjStockAnimalInfo_DetailSource = (from Item in objStockSeedInfo orderby Item.StockDate descending select Item).First().TotalWeight;
                                            var ObjStockSeedInfoInfo            = ObjectSpace.CreateObject <StockSeedInfo>();
                                            // ObjMaster.ReceiveOrgOid.Oid, ObjMaster.FinanceYearOid.Oid, objSupplierProduct.BudgetSourceOid, objSupplierProduct.AnimalSeedOid.Oid, objSupplierProduct.AnimalSeedLevelOid.Oid))
                                            var withBlock = ObjStockSeedInfoInfo;
                                            withBlock.StockDate          = DateTime.Now;
                                            withBlock.OrganizationOid    = ObjMaster.ReceiveOrgOid;
                                            withBlock.FinanceYearOid     = ObjMaster.FinanceYearOid;
                                            withBlock.BudgetSourceOid    = objSupplierProduct.BudgetSourceOid;
                                            withBlock.AnimalSeedOid      = objSupplierProduct.AnimalSeedOid;
                                            withBlock.AnimalSeedLevelOid = objSupplierProduct.AnimalSeedLevelOid;
                                            withBlock.StockDetail        = "ไม่อนุมัติการรับเมล็ดพันธุ์จากหน่วยงานในสังกัด (Mobile Application)  Lot Number : " + row.LotNumber.LotNumberFactory;
                                            withBlock.TotalForward       = ObjStockAnimalInfo_DetailSource;
                                            withBlock.TotalChange        = 0 - row.Weight;
                                            withBlock.StockType          = EnumStockType.ReceiveProduct;
                                            withBlock.SeedTypeOid        = objSupplierProduct.SeedTypeOid;
                                            withBlock.ReferanceCode      = row.LotNumber.LotNumberFactory;
                                            ObjectSpace.CommitChanges();
                                        }
                                    }
                                }

                                foreach (SendOrderSeedDetail row in ObjMaster.SendOrderSeedDetails)
                                {
                                    SupplierProductModifyDetail objSupplierProduct = ObjectSpace.FindObject <SupplierProductModifyDetail>(CriteriaOperator.Parse("Oid=?", row.LotNumber.Oid));
                                    if (objSupplierProduct != null)
                                    {
                                        objStockSeedInfo = ObjectSpace.GetObjects <StockSeedInfo>(CriteriaOperator.Parse("OrganizationOid= ? and FinanceYearOid=? and BudgetSourceOid=? and AnimalSeedOid=? and AnimalSeedLevelOid=? and StockType=0 and ReferanceCode=? ", ObjMaster.SendOrgOid.Oid, ObjMaster.FinanceYearOid.Oid, objSupplierProduct.BudgetSourceOid, objSupplierProduct.AnimalSeedOid.Oid, objSupplierProduct.AnimalSeedLevelOid.Oid, row.LotNumber.LotNumberFactory));
                                        if (objStockSeedInfo.Count > 0)
                                        {
                                            var ObjSubStockCardSource = (from Item in objStockSeedInfo orderby Item.StockDate descending select Item).First().TotalWeight;
                                            var ObjStockSeedInfoInfo  = ObjectSpace.CreateObject <StockSeedInfo>();
                                            // ObjMaster.ReceiveOrgOid.Oid, ObjMaster.FinanceYearOid.Oid, objSupplierProduct.BudgetSourceOid, objSupplierProduct.AnimalSeedOid.Oid, objSupplierProduct.AnimalSeedLevelOid.Oid))

                                            var withBlock1 = ObjStockSeedInfoInfo;
                                            withBlock1.StockDate          = DateTime.Now;
                                            withBlock1.OrganizationOid    = ObjMaster.SendOrgOid;
                                            withBlock1.FinanceYearOid     = ObjMaster.FinanceYearOid;
                                            withBlock1.BudgetSourceOid    = objSupplierProduct.BudgetSourceOid;
                                            withBlock1.AnimalSeedOid      = objSupplierProduct.AnimalSeedOid;
                                            withBlock1.AnimalSeedLevelOid = objSupplierProduct.AnimalSeedLevelOid;
                                            withBlock1.StockDetail        = "รับเมล็ดพันธุ์คืนเนื่องจากไม่ได้รับการอนุมัติ (Mobile Application) สาเหตุ : " + CancelMsg;
                                            withBlock1.TotalForward       = ObjSubStockCardSource;
                                            withBlock1.TotalChange        = row.Weight;
                                            withBlock1.StockType          = EnumStockType.ModifyProduct;
                                            withBlock1.SeedTypeOid        = objSupplierProduct.SeedTypeOid;
                                            withBlock1.ReferanceCode      = row.LotNumber.LotNumberFactory;
                                            ObjectSpace.CommitChanges();
                                        }
                                    }

                                    objQualityAnalysis = ObjectSpace.FindObject <QualityAnalysis>(CriteriaOperator.Parse("[LotNumber]=? and [AnalysisType]=0 and [OrganizationOid]=?", row.LotNumber.LotNumberFactory, row.SendOrderSeed.SendOrgOid));
                                    if (objQualityAnalysis != null)
                                    {
                                        objQualityAnalysis.Weight += row.Weight;
                                    }
                                    QualityAnalysis objQualityAnalysisType1 = ObjectSpace.FindObject <QualityAnalysis>(CriteriaOperator.Parse("[LotNumber]=? and [AnalysisType]=1 and [OrganizationOid]=?", row.LotNumber.LotNumberFactory, row.SendOrderSeed.ReceiveOrgOid));
                                    if (objQualityAnalysisType1 != null)
                                    {
                                        objQualityAnalysisType1.Weight -= row.Weight;
                                    }
                                }
                            }
                            ObjectSpace.CommitChanges();
                            ObjHistory = ObjectSpace.CreateObject <HistoryWork>();
                            // ประวัติ
                            ObjHistory.RefOid     = ObjMaster.Oid.ToString();
                            ObjHistory.FormName   = "เมล็ดพันธุ์";
                            ObjHistory.Message    = "ไม่อนุมัติ (รับเมล็ดพันธุ์จากหน่วยงานในสังกัด (Mobile Application)) เลขที่ส่ง : " + ObjMaster.SendNo;
                            ObjHistory.CreateBy   = Username;
                            ObjHistory.CreateDate = DateTime.Now;
                            ObjectSpace.CommitChanges();
                            ObjMaster.SendStatus    = EnumSendOrderSeedStatus.Eject;    //4
                            ObjMaster.ReceiveStatus = EnumReceiveOrderSeedStatus.Eject; //4
                            ObjMaster.CancelMsg     = CancelMsg;
                            ObjectSpace.CommitChanges();
                        }
                    }



                    else if (_type == "2") //ส่ง
                    {
                        if (Status == "1")
                        { //Approve
                            foreach (SendOrderSeedDetail row in ObjMaster.SendOrderSeedDetails)
                            {
                                SupplierProductModifyDetail objSupplierProduct = ObjectSpace.FindObject <SupplierProductModifyDetail>(CriteriaOperator.Parse("Oid=?", row.LotNumber.Oid));
                                if (objSupplierProduct != null)
                                {
                                    if (ObjMaster.SendOrgOid.IsFactory == true)
                                    {
                                        objStockSeedInfo = ObjectSpace.GetObjects <StockSeedInfo>(CriteriaOperator.Parse("OrganizationOid= ? and FinanceYearOid=? and BudgetSourceOid=? and AnimalSeedOid=? and AnimalSeedLevelOid=? and StockType=0 and ReferanceCode=? ", ObjMaster.SendOrgOid.Oid, ObjMaster.FinanceYearOid.Oid, objSupplierProduct.BudgetSourceOid, objSupplierProduct.AnimalSeedOid.Oid, objSupplierProduct.AnimalSeedLevelOid.Oid, row.LotNumber.LotNumberFactory));
                                    }
                                    else
                                    {
                                        objStockSeedInfo = ObjectSpace.GetObjects <StockSeedInfo>(CriteriaOperator.Parse("OrganizationOid= ? and FinanceYearOid=? and BudgetSourceOid=? and AnimalSeedOid=? and AnimalSeedLevelOid=? and StockType=1 and ReferanceCode=? ", ObjMaster.SendOrgOid.Oid, ObjMaster.FinanceYearOid.Oid, objSupplierProduct.BudgetSourceOid, objSupplierProduct.AnimalSeedOid.Oid, objSupplierProduct.AnimalSeedLevelOid.Oid, row.LotNumber.LotNumberFactory));
                                    }

                                    if (objStockSeedInfo.Count > 0)
                                    {
                                        var ObjSubStockCardSource = (from Item in objStockSeedInfo orderby Item.StockDate descending select Item).First().TotalWeight;
                                        var ObjStockSeedInfoInfo  = ObjectSpace.CreateObject <StockSeedInfo>();
                                        // ObjMaster.ReceiveOrgOid.Oid, ObjMaster.FinanceYearOid.Oid, objSupplierProduct.BudgetSourceOid, objSupplierProduct.AnimalSeedOid.Oid, objSupplierProduct.AnimalSeedLevelOid.Oid))

                                        var withBlock = ObjStockSeedInfoInfo;
                                        withBlock.StockDate          = DateTime.Now;
                                        withBlock.OrganizationOid    = ObjMaster.SendOrgOid;
                                        withBlock.FinanceYearOid     = ObjMaster.FinanceYearOid;
                                        withBlock.BudgetSourceOid    = objSupplierProduct.BudgetSourceOid;
                                        withBlock.AnimalSeedOid      = objSupplierProduct.AnimalSeedOid;
                                        withBlock.AnimalSeedLevelOid = objSupplierProduct.AnimalSeedLevelOid;
                                        withBlock.StockDetail        = "ส่งเมล็ดพันธุ์ Lot Number (Mobile Application): " + row.LotNumber.LotNumberFactory;
                                        withBlock.TotalForward       = ObjSubStockCardSource;
                                        withBlock.TotalChange        = 0 - row.Weight;
                                        if (ObjMaster.SendOrgOid.IsFactory == true)
                                        {
                                            withBlock.StockType = EnumStockType.ModifyProduct;
                                        }
                                        else
                                        {
                                            withBlock.StockType = EnumStockType.ReceiveProduct;
                                        }


                                        withBlock.SeedTypeOid   = objSupplierProduct.SeedTypeOid;
                                        withBlock.ReferanceCode = row.LotNumber.LotNumberFactory;
                                        withBlock.Description   = "ส่งเมล็ดพันธุ์ให้ : " + "" + ObjMaster.ReceiveOrgOid.SubOrganizeName + "" + "(Mobile Application)";
                                        withBlock.UseNo         = ObjMaster.SendNo;
                                        ObjectSpace.CommitChanges();
                                    }
                                }
                                else
                                {
                                    var ObjStockSeedInfoInfo = ObjectSpace.CreateObject <StockSeedInfo>();
                                    var withBlock            = ObjStockSeedInfoInfo;
                                    withBlock.StockDate          = DateTime.Now;
                                    withBlock.OrganizationOid    = ObjMaster.SendOrgOid;
                                    withBlock.FinanceYearOid     = ObjMaster.FinanceYearOid;
                                    withBlock.BudgetSourceOid    = objSupplierProduct.BudgetSourceOid;
                                    withBlock.AnimalSeedOid      = objSupplierProduct.AnimalSeedOid;
                                    withBlock.AnimalSeedLevelOid = objSupplierProduct.AnimalSeedLevelOid;
                                    withBlock.StockDetail        = "ส่งเมล็ดพันธุ์ Lot Number : " + "" + row.LotNumber.LotNumberFactory + "" + "(Mobile Application)";
                                    withBlock.TotalForward       = 0;
                                    withBlock.TotalChange        = 0 - row.Weight;
                                    if (ObjMaster.SendOrgOid.IsFactory == true)
                                    {
                                        withBlock.StockType = EnumStockType.ModifyProduct;
                                    }
                                    else
                                    {
                                        withBlock.StockType = EnumStockType.ReceiveProduct;
                                    }
                                    withBlock.SeedTypeOid   = objSupplierProduct.SeedTypeOid;
                                    withBlock.ReferanceCode = row.LotNumber.LotNumberFactory;
                                    withBlock.Description   = "ส่งเมล็ดพันธุ์ให้  : " + "" + ObjMaster.ReceiveOrgOid.SubOrganizeName + "" + "(Mobile Application)";
                                    withBlock.UseNo         = ObjMaster.SendNo;
                                    ObjectSpace.CommitChanges();
                                }
                                objQualityAnalysis = ObjectSpace.FindObject <QualityAnalysis>(CriteriaOperator.Parse("[LotNumber]=? and [AnalysisType]=0 and [OrganizationOid]=?", row.LotNumber.LotNumberFactory, row.SendOrderSeed.SendOrgOid));
                                if (objQualityAnalysis != null)
                                {
                                    objQualityAnalysis.Weight -= row.Weight;
                                }
                                QualityAnalysis objQualityAnalysisType1 = ObjectSpace.FindObject <QualityAnalysis>(CriteriaOperator.Parse("[LotNumber]=? and [AnalysisType]=1 and [OrganizationOid]=?", row.LotNumber.LotNumberFactory, row.SendOrderSeed.ReceiveOrgOid));
                                if (objQualityAnalysisType1 != null)
                                {
                                    objQualityAnalysisType1.Weight += row.Weight;
                                }
                                else
                                {
                                    var ObjQualityAnalysisInfo = ObjectSpace.CreateObject <QualityAnalysis>();
                                    SupplierProductModifyDetail objSupplierProductModifyDetail = ObjectSpace.FindObject <SupplierProductModifyDetail>(CriteriaOperator.Parse("LotNumberFactory=?", row.LotNumber.LotNumberFactory));

                                    var withBlock = ObjQualityAnalysisInfo;
                                    withBlock.AnimalSeedOid      = objSupplierProductModifyDetail.AnimalSeedOid;
                                    withBlock.AnimalSeedLevelOid = objSupplierProductModifyDetail.AnimalSeedLevelOid;
                                    withBlock.SeedTypeOid        = objSupplierProductModifyDetail.SeedTypeOid;
                                    withBlock.LotNumber          = objSupplierProductModifyDetail.LotNumberFactory;
                                    withBlock.Weight             = row.Weight;
                                    withBlock.Moisture           = objSupplierProductModifyDetail.Moisture;
                                    withBlock.Germination        = objSupplierProductModifyDetail.Germination;
                                    withBlock.AnalysisType       = 1.ToString();
                                    withBlock.OrganizationOid    = ObjMaster.ReceiveOrgOid;
                                    ObjectSpace.CommitChanges();
                                }
                            }
                            ObjHistory = ObjectSpace.CreateObject <HistoryWork>();
                            // ประวัติ
                            ObjHistory.RefOid     = ObjMaster.Oid.ToString();
                            ObjHistory.FormName   = "เมล็ดพันธุ์";
                            ObjHistory.Message    = "อนุมัติ (ส่งเมล็ดพันธุ์ให้หน่วยงานในสังกัด (Mobile Application)) เลขที่ส่ง : " + ObjMaster.SendNo;
                            ObjHistory.CreateBy   = Username;
                            ObjHistory.CreateDate = DateTime.Now;
                            ObjectSpace.CommitChanges();
                            ObjMaster.SendStatus    = EnumSendOrderSeedStatus.Approve;      //2
                            ObjMaster.ReceiveStatus = EnumReceiveOrderSeedStatus.InProgess; //1
                            ObjMaster.Remark        = CancelMsg;
                            ObjectSpace.CommitChanges();
                        }

                        else if (Status == "2") //ไม่อนุมัติ ฝั่งส่ง
                        {                       //Reject
                            ObjMaster.CancelMsg = CancelMsg;

                            foreach (SendOrderSeedDetail row in ObjMaster.SendOrderSeedDetails)
                            {
                                SupplierProductModifyDetail objSupplierProduct = ObjectSpace.FindObject <SupplierProductModifyDetail>(CriteriaOperator.Parse("Oid=?", row.LotNumber.Oid));
                                if (objSupplierProduct != null)
                                {
                                    objStockSeedInfo = ObjectSpace.GetObjects <StockSeedInfo>(CriteriaOperator.Parse("OrganizationOid= ? and FinanceYearOid=? and BudgetSourceOid=? and AnimalSeedOid=? and AnimalSeedLevelOid=? and StockType=0 and ReferanceCode=? ", ObjMaster.SendOrgOid.Oid, ObjMaster.FinanceYearOid.Oid, objSupplierProduct.BudgetSourceOid, objSupplierProduct.AnimalSeedOid.Oid, objSupplierProduct.AnimalSeedLevelOid.Oid, row.LotNumber.LotNumberFactory));
                                    if (objStockSeedInfo.Count > 0)
                                    {
                                        var ObjStockAnimalInfo_DetailSource = (from Item in objStockSeedInfo orderby Item.StockDate descending select Item).First().TotalWeight;

                                        var ObjStockSeedInfoInfo = ObjectSpace.CreateObject <StockSeedInfo>();
                                        // ObjMaster.ReceiveOrgOid.Oid, ObjMaster.FinanceYearOid.Oid, objSupplierProduct.BudgetSourceOid, objSupplierProduct.AnimalSeedOid.Oid, objSupplierProduct.AnimalSeedLevelOid.Oid))

                                        var withBlock = ObjStockSeedInfoInfo;
                                        withBlock.StockDate          = DateTime.Now;
                                        withBlock.OrganizationOid    = ObjMaster.SendOrgOid;
                                        withBlock.FinanceYearOid     = ObjMaster.FinanceYearOid;
                                        withBlock.BudgetSourceOid    = objSupplierProduct.BudgetSourceOid;
                                        withBlock.AnimalSeedOid      = objSupplierProduct.AnimalSeedOid;
                                        withBlock.AnimalSeedLevelOid = objSupplierProduct.AnimalSeedLevelOid;
                                        withBlock.StockDetail        = "ไม่อนุมัติการส่งเมล็ดพันธุ์ (Mobile Application) สาเหตุ :" + CancelMsg;
                                        withBlock.TotalForward       = ObjStockAnimalInfo_DetailSource;
                                        withBlock.TotalChange        = row.Weight;
                                        withBlock.StockType          = EnumStockType.ModifyProduct;
                                        withBlock.SeedTypeOid        = objSupplierProduct.SeedTypeOid;
                                        withBlock.ReferanceCode      = row.LotNumber.LotNumberFactory;
                                        ObjectSpace.CommitChanges();
                                    }
                                }
                            }

                            ObjHistory = ObjectSpace.CreateObject <HistoryWork>();
                            // ประวัติ
                            ObjHistory.RefOid     = ObjMaster.Oid.ToString();
                            ObjHistory.FormName   = "เมล็ดพันธุ์";
                            ObjHistory.Message    = "ไม่อนุมัติ (ส่งเมล็ดพันธุ์ให้หน่วยงานในสังกัด (Mobile Application)) เลขที่ส่ง : " + ObjMaster.SendNo;
                            ObjHistory.CreateBy   = Username;
                            ObjHistory.CreateDate = DateTime.Now;
                            ObjectSpace.CommitChanges();

                            ObjMaster.SendStatus = EnumSendOrderSeedStatus.Eject; //4

                            ObjectSpace.CommitChanges();
                        }
                    }



                    UpdateResult ret = new UpdateResult();
                    ret.status  = "true";
                    ret.message = "บันทึกข้อมูลเสร็จเรียบร้อยแล้ว";
                    return(Request.CreateResponse(HttpStatusCode.OK, ret));
                }

                else
                {
                    UserError err = new UserError();
                    err.status  = "false";
                    err.code    = "-1";
                    err.message = "ไม่พบข้อมูล";
                    return(Request.CreateResponse(HttpStatusCode.NotFound, 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();
            }
        }
Example #3
0
        public HttpResponseMessage RodBreedUseApprove()
        {
            //  object objStockAnimalInfo = null;
            HistoryWork           ObjHistory       = null;
            IList <StockSeedInfo> objStockSeedInfo = null;
            string Username         = "******";
            object objDetailService = null;

            try
            {
                string RefNo = HttpContext.Current.Request.Form["RefNo"].ToString();      //ข้อมูลเลขที่อ้างอิง
                                                                                          // string Status = HttpContext.Current.Request.Form["Status"].ToString(); //สถานะ
                string CancelMsg = HttpContext.Current.Request.Form["Remark"].ToString(); //หมายเหตุ
                Username = HttpContext.Current.Request.Form["Username"].ToString();
                if (RefNo != "")
                {
                    XpoTypesInfoHelper.GetXpoTypeInfoSource();
                    XafTypesInfo.Instance.RegisterEntity(typeof(nutrition.Module.SupplierRodBreedUseProduct));
                    XafTypesInfo.Instance.RegisterEntity(typeof(nutrition.Module.StockRodBreedInfo));
                    XafTypesInfo.Instance.RegisterEntity(typeof(nutrition.Module.StockRodBreedInfo_Report));
                    XafTypesInfo.Instance.RegisterEntity(typeof(nutrition.Module.HistoryWork));
                    XafTypesInfo.Instance.RegisterEntity(typeof(nutrition.Module.SupplierProductModifyDetail));
                    XafTypesInfo.Instance.RegisterEntity(typeof(nutrition.Module.SupplierProductModify));
                    XafTypesInfo.Instance.RegisterEntity(typeof(UserInfo));
                    XafTypesInfo.Instance.RegisterEntity(typeof(ReceiveLotNumber));
                    XafTypesInfo.Instance.RegisterEntity(typeof(RegisterCusServiceDetail));
                    XafTypesInfo.Instance.RegisterEntity(typeof(OrgeServiceDetail));
                    XafTypesInfo.Instance.RegisterEntity(typeof(ServiceType));

                    List <SupplierRodBreedUseProduct> list           = new List <SupplierRodBreedUseProduct>();
                    XPObjectSpaceProvider             directProvider = new XPObjectSpaceProvider(scc, null);
                    IObjectSpace ObjectSpace = directProvider.CreateObjectSpace();

                    UserInfo objUserInfo = ObjectSpace.FindObject <UserInfo>(CriteriaOperator.Parse("[UserName]=?", Username));

                    SupplierRodBreedUseProduct ObjMaster = ObjectSpace.FindObject <SupplierRodBreedUseProduct>(CriteriaOperator.Parse("UseNo=?", RefNo));

                    if (ObjMaster.SupplierRodBreedUseProductDetails != null)
                    {
                        foreach (SupplierRodBreedUseProductDetail row in ObjMaster.SupplierRodBreedUseProductDetails)
                        {
                            if (ObjMaster.Status == EnumRodBreedProductSeedStatus.Accepet)
                            {
                                //'Update สถานะ IsApprove ให้เป็น True
                                var objStockRodBreedInfoEdit = ObjectSpace.FindObject <StockRodBreedInfo>(CriteriaOperator.Parse("[RodBreedProductNumber]=? and [FinanceYearOid]=? and [OrganizationOid]=? and [AnimalSeedOid]=? and [SeedTypeOid]=?", row.SupplierRodBreedUseProductOid.UseNo, row.SupplierRodBreedUseProductOid.FinanceYearOid, row.SupplierRodBreedUseProductOid.OrganizationOid, row.AnimalSeedOid, row.SeedTypeOid));
                                if (objStockRodBreedInfoEdit != null)
                                {
                                    objStockRodBreedInfoEdit.IsApprove = true;
                                }


                                //          ''Stock สำหรับ กปศ4ว
                                //         '=======================================================================

                                //    'Update สถานะ IsApprove ให้เป็น True
                                var objStockRodBreedInfoReportEdit = ObjectSpace.FindObject <StockRodBreedInfo_Report>(CriteriaOperator.Parse("[RodBreedProductNumber]=? and [FinanceYearOid]=? and [OrganizationOid]=? and [AnimalSeedOid]=? and [SeedTypeOid]=?", row.SupplierRodBreedUseProductOid.UseNo, row.SupplierRodBreedUseProductOid.FinanceYearOid, row.SupplierRodBreedUseProductOid.OrganizationOid, row.AnimalSeedOid, row.SeedTypeOid));
                                if (objStockRodBreedInfoReportEdit != null)
                                {
                                    objStockRodBreedInfoReportEdit.IsApprove = true;
                                }
                            }
                        }

                        if (ObjMaster.ActivityOid.ActivityName.Contains("จำหน่าย") == true)
                        {
                            if (ObjMaster.ChkOneService == true)
                            {
                                objDetailService = ObjectSpace.FindObject <RegisterCusServiceDetail>(CriteriaOperator.Parse("[RegisterCusServiceOid]=? and [ServiceTypeOid.ServiceTypeName] like '%จำหน่าย%' and [SubServiceTypeOid.ServiceTypeName]='ท่อนพันธุ์' and [ReceiveDate]=?", ObjMaster.RegisCusServiceOid, ObjMaster.UseDate));
                                if (objDetailService == null)
                                {
                                    RegisterCusServiceDetail objDetailService_new = ObjectSpace.CreateObject <RegisterCusServiceDetail>();
                                    objDetailService_new.RegisterCusServiceOid = ObjMaster.RegisCusServiceOid;

                                    ServiceType objServiceType = ObjectSpace.FindObject <ServiceType>(CriteriaOperator.Parse("[ServiceTypeName] like '%จำหน่าย%'"));
                                    objDetailService_new.ServiceTypeOid = objServiceType;

                                    ServiceType objSubServiceType = ObjectSpace.FindObject <ServiceType>(CriteriaOperator.Parse("[MasterServiceType]=? and [ServiceTypeName]='ท่อนพันธุ์'", objServiceType.Oid));
                                    objDetailService_new.SubServiceTypeOid = objSubServiceType;

                                    objDetailService_new.ReceiveDate = ObjMaster.UseDate;
                                    objDetailService_new.RefOid      = ObjMaster.Oid.ToString();
                                }
                            }
                            else if (ObjMaster.ChkGroupService == true)
                            {
                                objDetailService = ObjectSpace.FindObject <OrgeServiceDetail>(CriteriaOperator.Parse("[OrgeServiceOid]=? and [ServiceTypeOid.ServiceTypeName] like '%จำหน่าย%' and [SubServiceTypeOid.ServiceTypeName]='ท่อนพันธุ์' and [ReceiveDate]=?", ObjMaster.OrgeServiceOid, ObjMaster.UseDate));
                                if (objDetailService == null) //'ถ้ายังไม่มีข้อมูลการขอรับบบริการให้ Insert ลงในส่วนของรายละเอียดการขอรับบริการด้วย
                                {
                                    OrgeServiceDetail objDetailService_new = ObjectSpace.CreateObject <OrgeServiceDetail>();
                                    objDetailService_new.OrgeServiceOid = ObjMaster.OrgeServiceOid;
                                    ServiceType objServiceType = ObjectSpace.FindObject <ServiceType>(CriteriaOperator.Parse("[ServiceTypeName] like '%จำหน่าย%'"));
                                    objDetailService_new.ServiceTypeOid = objServiceType;
                                    ServiceType objSubServiceType = ObjectSpace.FindObject <ServiceType>(CriteriaOperator.Parse("[MasterServiceType]=? and [ServiceTypeName]='ท่อนพันธุ์'", objServiceType.Oid));
                                    objDetailService_new.SubServiceTypeOid = objSubServiceType;

                                    objDetailService_new.ReceiveDate = ObjMaster.UseDate;
                                    objDetailService_new.RefOid      = ObjMaster.Oid.ToString();
                                }
                            }
                        }
                        else if (ObjMaster.ActivityOid.ActivityName.Contains("แจกจ่าย") == true)
                        {
                            if (ObjMaster.ChkOneService == true) //'รายเดี่ยว
                            {
                                objDetailService = ObjectSpace.FindObject <RegisterCusServiceDetail>(CriteriaOperator.Parse("[RegisterCusServiceOid]=? and [ServiceTypeOid.ServiceTypeName] like '%แจกจ่าย%' and [SubServiceTypeOid.ServiceTypeName]='ท่อนพันธุ์' and [ReceiveDate]=?", ObjMaster.RegisCusServiceOid, ObjMaster.UseDate));
                                if (objDetailService == null)// 'ถ้ายังไม่มีข้อมูลการขอรับบบริการให้ Insert ลงในส่วนของรายละเอียดการขอรับบริการด้วย
                                {
                                    RegisterCusServiceDetail objDetailService_new = ObjectSpace.CreateObject <RegisterCusServiceDetail>();
                                    objDetailService_new.RegisterCusServiceOid = ObjMaster.RegisCusServiceOid;


                                    ServiceType objServiceType = ObjectSpace.FindObject <ServiceType>(CriteriaOperator.Parse("[ServiceTypeName] like '%แจกจ่าย%'"));
                                    objDetailService_new.ServiceTypeOid = objServiceType;
                                    ServiceType objSubServiceType = ObjectSpace.FindObject <ServiceType>(CriteriaOperator.Parse("[MasterServiceType]=? and [ServiceTypeName]='ท่อนพันธุ์'", objServiceType.Oid));
                                    objDetailService_new.SubServiceTypeOid = objSubServiceType;

                                    objDetailService_new.ReceiveDate = ObjMaster.UseDate;
                                    objDetailService_new.RefOid      = ObjMaster.Oid.ToString();
                                }
                            }
                            else if (ObjMaster.ChkGroupService == true)
                            {
                                objDetailService = ObjectSpace.FindObject <OrgeServiceDetail>(CriteriaOperator.Parse("[OrgeServiceOid]=? and [ServiceTypeOid.ServiceTypeName] like '%แจกจ่าย%' and [SubServiceTypeOid.ServiceTypeName]='ท่อนพันธุ์' and [ReceiveDate]=?", ObjMaster.OrgeServiceOid, ObjMaster.UseDate));
                                if (objDetailService == null) //'ถ้ายังไม่มีข้อมูลการขอรับบบริการให้ Insert ลงในส่วนของรายละเอียดการขอรับบริการด้วย
                                {
                                    OrgeServiceDetail objDetailService_new = ObjectSpace.CreateObject <OrgeServiceDetail>();
                                    objDetailService_new.OrgeServiceOid = ObjMaster.OrgeServiceOid;
                                    ServiceType objServiceType = ObjectSpace.FindObject <ServiceType>(CriteriaOperator.Parse("[ServiceTypeName] like '%แจกจ่าย%'"));
                                    objDetailService_new.ServiceTypeOid = objServiceType;
                                    ServiceType objSubServiceType = ObjectSpace.FindObject <ServiceType>(CriteriaOperator.Parse("[MasterServiceType]=? and [ServiceTypeName]='ท่อนพันธุ์'", objServiceType.Oid));
                                    objDetailService_new.SubServiceTypeOid = objSubServiceType;

                                    objDetailService_new.ReceiveDate = ObjMaster.UseDate;
                                    objDetailService_new.RefOid      = ObjMaster.Oid.ToString();
                                }
                            }
                        }


                        ObjMaster.Status      = EnumRodBreedProductSeedStatus.Approve;
                        ObjMaster.ApproveDate = DateTime.Now;
                        //     ObjectSpace.CommitChanges();

                        ObjHistory = ObjectSpace.CreateObject <HistoryWork>();
                        // ประวัติ
                        ObjHistory.RefOid     = ObjMaster.Oid.ToString();
                        ObjHistory.FormName   = "ท่อนพันธุ์";
                        ObjHistory.Message    = "อนุมัติ (ขอใช้ท่อนพันธุ์ (Mobile Application) ) ลำดับที่ : " + ObjMaster.UseNo;
                        ObjHistory.CreateBy   = objUserInfo.UserName;
                        ObjHistory.CreateDate = DateTime.Now;
                        ObjectSpace.CommitChanges();

                        UpdateResult ret = new UpdateResult();
                        ret.status  = "true";
                        ret.message = "บันทึกข้อมูลอนุมัติเรียบร้อยแล้ว";
                        return(Request.CreateResponse(HttpStatusCode.OK, ret));
                    }
                    else
                    {
                        UpdateResult ret = new UpdateResult();
                        ret.status  = "False";
                        ret.message = "กรุณากรอก RefNo";
                        return(Request.CreateResponse(HttpStatusCode.NotFound, ret));
                    }
                }
                else
                {
                    UpdateResult ret = new UpdateResult();
                    ret.status  = "False";
                    ret.message = "ไม่มีข้อมูลรายการข้อมูลท่อนพันธุ์";
                    return(Request.CreateResponse(HttpStatusCode.NoContent, ret));
                }
            }
            catch (Exception ex)
            {
                UserError err = new UserError();
                err.code    = "6"; // error จากสาเหตุอื่นๆ จะมีรายละเอียดจาก system แจ้งกลับ
                err.message = ex.Message;
                return(Request.CreateResponse(HttpStatusCode.BadRequest, err));
            }
        }
Example #4
0
        private void barSave_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            try
            {
                if (MssBox.QuestionYesNo("คุณค้องการลบข้อมูลประสบการณ์ทำงาน ใช่ หรือ ไม่ ?") == DialogResult.Yes)
                {
                    if (New == true)
                    {
                        var db = new CDMSDBDataContext(Program.conStr);

                        var SaveExp = new HistoryWork();

                        SaveExp.Htw_CompanyName      = txtComName.Text;
                        SaveExp.Htw_CompanyDept      = txtDept.Text;
                        SaveExp.Htw_Category         = txtComType.Text;
                        SaveExp.Htw_JobDescription   = txtWorkType.Text;
                        SaveExp.Htw_StartDateForWork = StartWorkDate.DateTime;
                        SaveExp.Htw_EndDateForWork   = StopWorkDate.DateTime;
                        SaveExp.Htw_Rem    = memoRem.Text;
                        SaveExp.Emp_Key    = EmpID;
                        SaveExp.Htw_Status = 1;
                        SaveExp.Htw_Del    = 0;

                        db.HistoryWorks.InsertOnSubmit(SaveExp);
                        db.SubmitChanges();
                    }
                    else
                    {
                        var db = new CDMSDBDataContext(Program.conStr);

                        var ExpCur = (HistoryWork)historyWorkBindingSource.Current;

                        var UpdateExp = (from x in db.HistoryWorks
                                         where x.Htw_Key == ExpCur.Htw_Key &&
                                         x.Htw_Status == 1 &&
                                         x.Htw_Del == 0
                                         select x).FirstOrDefault();

                        UpdateExp.Htw_CompanyName      = txtComName.Text;
                        UpdateExp.Htw_CompanyDept      = txtDept.Text;
                        UpdateExp.Htw_Category         = txtComType.Text;
                        UpdateExp.Htw_JobDescription   = txtWorkType.Text;
                        UpdateExp.Htw_StartDateForWork = StartWorkDate.DateTime;
                        UpdateExp.Htw_EndDateForWork   = StopWorkDate.DateTime;
                        UpdateExp.Htw_Rem = memoRem.Text;

                        db.SubmitChanges();
                    }

                    ShowExp();
                }
                else
                {
                    return;
                }
            }
            catch (Exception ex)
            {
                MssBox.Error(ex.Message);
            }
        }