public void TestEventCRUD() { IEvent e = CreateEvent(EventType.Wedding); var ep = new EventProcessor(e); var save = ep.Create().Result; Assert.IsTrue(save.Data != null && save.Data.Id != Guid.Empty, "Event save failed."); var one = ep.FetchById().Result; Assert.IsTrue(one.Data != null, "Event fetch failed."); var delete = ep.Delete().Result; one = ep.FetchById().Result; Assert.IsTrue(one.Data == null, "Event delete failed."); var vp = new VendorProcessor(e.Arrangements[0].Vendor.Id); var d = vp.Delete().Result; var o = vp.FetchById().Result; Assert.IsTrue(o.Data == null, "Vendor delete failed."); var uHelper = new UserProcessor(e.Arrangements[0].Vendor.Id); var uOne = uHelper.FetchById().Result; Assert.IsTrue(uOne.Data == null, "User not deleted from vendor delete."); }
public List <VendorHistoryLog> LoadVendorHistoryLogBySysNo(int vendorSysNo) { VendorInfo newVendorInfo = new VendorInfo() { SysNo = vendorSysNo }; return(VendorProcessor.LoadVendorHistoryLogInfo(newVendorInfo)); }
private dynamic GetProcessorById(UserRequest req) { dynamic proc = null; if (!req.IsVendor) { proc = new UserProcessor(req.Id); } else { proc = new VendorProcessor(req.Id); } return proc; }
private dynamic GetSaveProcessor(UserRequest req) { dynamic proc = null; if (!req.IsVendor) { IUser u = new User(); req.CopyRequestToUser(u); proc = new UserProcessor(u); } else { IVendor v = VendorBase.GetVendorFromType(req.VendorType); req.CopyRequestToUser(v); proc = new VendorProcessor(v); } return proc; }
private IEvent CreateEvent(EventType type) { IEvent e = EventBase.GetEventFromType(type); e.Name = "Wedding Sample"; e.StartTime = DateTime.Today.AddMonths(1); e.EndTime = e.StartTime.AddHours(6); e.Contact.Clone(CreateContact()); e.Venue.Clone(e.Contact.Address); var a = CreateArrangement(); IVendor vendor = CreateVendor(VendorType.Photographer); var h = new VendorProcessor(vendor); var s = h.Create().Result; a.Vendor = s.Data; e.Arrangements.Add(a); return(e); }
public void TestProjectCRUD() { IProject p = CreateProject(); var pp = new ProjectProcessor(p); var save = pp.Create().Result; Assert.IsTrue(save.Data != null && save.Data.Id != Guid.Empty, "Project save failed."); var one = pp.FetchById().Result; Assert.IsTrue(one.Data != null, "Project fetch failed."); var eHelper = new EventProcessor(p.Events[0].Id); var eOne = eHelper.FetchById().Result; Assert.IsTrue(eOne.Data != null, "Event fetch failed."); var delete = pp.Delete().Result; one = pp.FetchById().Result; Assert.IsTrue(one.Data == null, "Project delete failed."); eOne = eHelper.FetchById().Result; Assert.IsTrue(eOne.Data == null, "Event delete failed from Project."); var vhelper = new VendorProcessor(p.Events[0].Arrangements[0].Vendor.Id); delete = vhelper.Delete().Result; var vendor = vhelper.FetchById().Result; Assert.IsTrue(one.Data == null, "Vendor delete failed."); var uHelper = new UserProcessor(p.Events[0].Arrangements[0].Vendor.Id); var user = uHelper.FetchById().Result; Assert.IsTrue(user.Data == null, "User not deleted from vendor delete."); }
public void TestVendorCRUD() { IVendor vendor = CreateVendor(VendorType.Photographer); var vp = new VendorProcessor(vendor); var save = vp.Create().Result; Assert.IsTrue(save.Data != null && save.Data.Id != Guid.Empty, "Vendor save failed."); var one = vp.FetchById().Result; one.Data.Password = "******"; Assert.IsTrue(one.Data != null && JsonConvert.SerializeObject(one.Data, Formatting.None).Equals(JsonConvert.SerializeObject(save.Data, Formatting.None)), "Vendor fetch failed."); var uHelper = new UserProcessor(save.Data.Id); var uOne = uHelper.FetchById().Result; Assert.IsTrue(uOne.Data != null, "User not populated from vendor save."); var loggedIn = vp.Login().Result; Assert.IsTrue(loggedIn != null && loggedIn.Data != Guid.Empty, "Vendor login failed."); var delete = vp.Delete().Result; one = vp.FetchById().Result; Assert.IsTrue(one.Data == null, "Vendor delete failed."); uOne = uHelper.FetchById().Result; Assert.IsTrue(uOne.Data == null, "User not deleted from vendor delete."); var tp = new TokenProcessor(loggedIn.Data); int result = tp.Delete().Result; var t = tp.FetchById().Result; Assert.IsTrue(t.Data == null, "Token delete failed."); }
public int UnHoldVendor(VendorInfo vendorInfo) { return(VendorProcessor.UnHoldVendor(vendorInfo)); }
public VendorInfo CreateNewVendor(VendorInfo newVendorInfo) { return(VendorProcessor.CreateVendor(newVendorInfo)); }
public VendorModifyRequestInfo WithDrawVendorFinanceInfo(VendorModifyRequestInfo info) { return(VendorProcessor.WithDrawVendorFinanceInfo(info)); }
/// <summary> /// 批量创建PO单: /// </summary> /// <param name="list"></param> public virtual BatchCreateBasketResultInfo BatchCreatePurchaseOrder(List <BasketItemsInfo> list) { List <ProductPMLine> tPMLineList = ExternalDomainBroker.GetProductLineInfoByPM(ServiceContext.Current.UserSysNo); bool tIsManager = list[0].IsManagerPM.Value; //如果没有产品线权限并且不是高级PM,则不允许创建 //if ((tPMLineList == null || tPMLineList.Count == 0) && !tIsManager) //{ // throw new BizException(GetMessageString("Basket_PMNoLine")); //} FillProductLineInfo(list); string createCompanyCode = string.Empty; var conditionList = new List <BasketItemsInfo>(); List <int> POSysNo = new List <int>(); string errorMsg = ""; //根据编号加载商品信息: string exceptionMsg = CheckBasketInfo(ref list); errorMsg += exceptionMsg; List <PurchaseOrderInfo> POs = new List <PurchaseOrderInfo>(); //if (!string.IsNullOrEmpty(exceptionMsg) || exceptionMsg.Length > 0) //{ // throw new BizException(exceptionMsg); //} list.ForEach(x => { //是否中转: if (x.IsTransfer == 1) { x.StockSysNo = 5000 + x.StockSysNo; } createCompanyCode = x.CompanyCode; }); //默认采购单类型为:正常;增值税率:0.17;结算货币:人民币(1);送货类型:厂房直送(12) var group = from item in list group item by new { item.IsConsign, item.StockSysNo, item.VendorSysNo, item.PMSysNo, item.IsTransfer, item.ProductLine_SysNo } into g select new { Key = g.Key, ResultList = g }; foreach (var item in group) { POs.Clear(); var ZPO = from i in item.ResultList where i.Quantity >= 0 select i; var FPO = from i in item.ResultList where i.Quantity < 0 select i; //正采购 #region ZPO if (ZPO.Count() > 0) { PurchaseOrderInfo modelPO = GetInitPO(createCompanyCode); modelPO.VendorInfo = VendorProcessor.LoadVendorInfo(item.Key.VendorSysNo.Value); modelPO.PurchaseOrderBasicInfo.ConsignFlag = (PurchaseOrderConsignFlag)Enum.Parse(typeof(PurchaseOrderConsignFlag), item.Key.IsConsign.Value.ToString()); if (null == modelPO.PurchaseOrderBasicInfo.StockInfo) { modelPO.PurchaseOrderBasicInfo.StockInfo = new BizEntity.Inventory.StockInfo(); } modelPO.PurchaseOrderBasicInfo.StockInfo.SysNo = item.Key.StockSysNo; if (null == modelPO.PurchaseOrderBasicInfo.ProductManager) { modelPO.PurchaseOrderBasicInfo.ProductManager = new BizEntity.IM.ProductManagerInfo(); } //注释原因:因加入产品线验证,此处的归属PM应为产品线的PM //modelPO.PurchaseOrderBasicInfo.ProductManager.SysNo = item.Key.PMSysNo; modelPO.PurchaseOrderBasicInfo.PurchaseOrderType = PurchaseOrderType.Normal; modelPO.PurchaseOrderBasicInfo.PayType.SysNo = VendorDA.LoadVendorPayPeriodType(item.Key.VendorSysNo); string companyCode = string.Empty; foreach (var POitem in ZPO) { modelPO.PurchaseOrderBasicInfo.PurchaseOrderType = PurchaseOrderType.Normal; //增加产品线和主PM字段回写 modelPO.PurchaseOrderBasicInfo.IsManagerPM = POitem.IsManagerPM; modelPO.PurchaseOrderBasicInfo.ProductManager.SysNo = POitem.PMSysNo; modelPO.PurchaseOrderBasicInfo.ProductLineSysNo = POitem.ProductLine_SysNo; modelPO.POItems.Add(new PurchaseOrderItemInfo() { ItemSysNo = POitem.ItemSysNo, ProductSysNo = POitem.ProductSysNo, Quantity = 0, ReadyQuantity = POitem.ReadyQuantity, OrderPrice = POitem.OrderPrice, ProductID = POitem.ProductID, PurchaseQty = POitem.Quantity, UnitCost = Decimal.Round(POitem.OrderPrice.Value * modelPO.PurchaseOrderBasicInfo.ExchangeRate.Value, 2), Weight = POitem.Weight, ApportionAddOn = 0, ReturnCost = 0, BriefName = POitem.BriefName, AvailableQty = BasketDA.AvailableQtyByProductSysNO(POitem.ProductSysNo.Value), M1 = BasketDA.M1ByProductSysNO(POitem.ProductSysNo.Value), JingDongPrice = BasketDA.JDPriceByProductSysNO(POitem.ProductSysNo.Value), CompanyCode = POitem.CompanyCode }); companyCode = POitem.CompanyCode; } modelPO.CompanyCode = companyCode; POs.Add(modelPO); } #endregion //负采购 #region FPO if (FPO.Count() > 0) { PurchaseOrderInfo modelPO = GetInitPO(createCompanyCode); modelPO.VendorInfo = VendorProcessor.LoadVendorInfo(item.Key.VendorSysNo.Value); modelPO.PurchaseOrderBasicInfo.ConsignFlag = (PurchaseOrderConsignFlag)Enum.Parse(typeof(PurchaseOrderConsignFlag), item.Key.IsConsign.Value.ToString()); modelPO.PurchaseOrderBasicInfo.StockInfo.SysNo = item.Key.StockSysNo; modelPO.PurchaseOrderBasicInfo.ProductManager.SysNo = item.Key.PMSysNo; modelPO.PurchaseOrderBasicInfo.PurchaseOrderType = PurchaseOrderType.Negative; modelPO.PurchaseOrderBasicInfo.PayType.SysNo = VendorDA.LoadVendorPayPeriodType(item.Key.VendorSysNo); modelPO.PurchaseOrderBasicInfo.MemoInfo.Memo = GetMessageString("Basket_Memo_FPO"); string companyCode = string.Empty; foreach (var POitem in FPO) { //增加产品线和主PM字段回写 modelPO.PurchaseOrderBasicInfo.IsManagerPM = POitem.IsManagerPM; modelPO.PurchaseOrderBasicInfo.ProductManager.SysNo = POitem.ProductLine_PMSysNo; modelPO.PurchaseOrderBasicInfo.ProductLineSysNo = POitem.ProductLine_SysNo; modelPO.POItems.Add(new PurchaseOrderItemInfo() { ItemSysNo = POitem.ItemSysNo, ProductSysNo = POitem.ProductSysNo, Quantity = 0, OrderPrice = POitem.OrderPrice, ProductID = POitem.ProductID, PurchaseQty = POitem.Quantity, UnitCost = Decimal.Round(POitem.OrderPrice.Value * modelPO.PurchaseOrderBasicInfo.ExchangeRate.Value, 2), Weight = POitem.Weight, ApportionAddOn = 0, ReturnCost = 0, BriefName = POitem.BriefName, AvailableQty = BasketDA.AvailableQtyByProductSysNO(POitem.ProductSysNo.Value), M1 = BasketDA.M1ByProductSysNO(POitem.ProductSysNo.Value), JingDongPrice = BasketDA.JDPriceByProductSysNO(POitem.ProductSysNo.Value), CompanyCode = POitem.CompanyCode }); companyCode = POitem.CompanyCode; } modelPO.CompanyCode = companyCode; POs.Add(modelPO); } #endregion int poItemCountNumber = 80; if (!string.IsNullOrEmpty(AppSettingManager.GetSetting("PO", "PoItemCountNumber"))) { poItemCountNumber = int.Parse(AppSettingManager.GetSetting("PO", "PoItemCountNumber")); } foreach (var poentity in POs) { try { if (poentity.PurchaseOrderBasicInfo.MemoInfo == null) { poentity.PurchaseOrderBasicInfo.MemoInfo = new PurchaseOrderMemoInfo(); } if (poentity.PurchaseOrderBasicInfo.ETATimeInfo == null) { poentity.PurchaseOrderBasicInfo.ETATimeInfo = new PurchaseOrderETATimeInfo(); } if (poentity.EIMSInfo == null) { poentity.EIMSInfo = new PurchaseOrderEIMSInfo() { EIMSInfoList = new List <EIMSInfo>() }; } if (poentity.ReceivedInfoList == null) { poentity.ReceivedInfoList = new List <PurchaseOrderReceivedInfo>(); } //如果在一个po单中Item超过80种,则自动拆分 每80种商品一单 if (poentity.POItems.Count > poItemCountNumber) { //string listvalue = SerializeHelper.JsonSerializer(poentity); PurchaseOrderInfo posResult = poentity; //SerializeHelper.JsonDeserialize<IPP.Oversea.CN.POASNMgmt.WebModel.ViewModels.PO.POModel>(listvalue); var poitems = new List <PurchaseOrderItemInfo>(); for (int i = 1; i <= poentity.POItems.Count; i++) { poitems.Add(poentity.POItems[i - 1]); if ((i % poItemCountNumber == 0 && i != 0) || i == poentity.POItems.Count) { posResult.POItems = poitems; var poResult = PurchaseOrderProcessor.CreatePO(posResult); POSysNo.Add(poResult.SysNo.Value); poitems.Clear(); } } } else { var poResult = PurchaseOrderProcessor.CreatePO(poentity); POSysNo.Add(poResult.SysNo.Value); } } catch (Exception ex) { errorMsg += ex.Message + Environment.NewLine; } } } return(new BatchCreateBasketResultInfo() { SucessPOSysNos = POSysNo, ErrorMsg = errorMsg }); }
public VendorModifyRequestInfo ApproveVendorFinanceInfo(VendorModifyRequestInfo info) { return(VendorProcessor.ApproveVendorFinanceInfo(info)); }
public VendorModifyRequestInfo DeclineVendorFinanceInfo(VendorModifyRequestInfo info) { return(VendorProcessor.DeclineVendorFinanceInfo(info)); }
public void ApproveVendor(VendorApproveInfo vendorApproveInfo) { VendorProcessor.ApproveVendor(vendorApproveInfo); }
public VendorModifyRequestInfo RequestForApprovalVendorFinanceInfo(VendorModifyRequestInfo info) { return(VendorProcessor.RequestForApprovalVendorFinanceInfo(info)); }
public VendorModifyRequestInfo CancelVendorManufacturer(VendorModifyRequestInfo info) { return(VendorProcessor.CancelVendorManufacturer(info)); }
public VendorModifyRequestInfo PassVendorManufacturer(VendorModifyRequestInfo info) { return(VendorProcessor.PassVendorManufacturer(info)); }
public VendorInfo EditVendorInfo(VendorInfo info) { return(VendorProcessor.EditVendor(info)); }
public VendorHistoryLog CreateVendorHistoryLog(VendorHistoryLog logInfo) { return(VendorProcessor.CreateVendorHistoryLog(logInfo)); }
public VendorInfo LoadVendorInfoBySysNo(int vendorSysNo) { return(VendorProcessor.LoadVendorInfo(vendorSysNo)); }
public List <int> HoldOrUnholdVendorPM(int vendorSysNo, int holdUserSysNo, string reason, List <int> holdSysNoList, List <int> unHoldSysNoList, string companyCode) { return(VendorProcessor.HoldOrUnholdVendorPM(vendorSysNo, holdUserSysNo, reason, holdSysNoList, unHoldSysNoList, companyCode)); }
public void UpdateVendorEmailAddress(VendorInfo vendorInfo) { VendorProcessor.UpdateVendorEmail(vendorInfo); }