/// <summary> /// item /// </summary> /// <param name="entity"></param> /// <param name="operationType"></param> public void AddShadow(ItemInfoEntity entity, EnumOperationType operationType, int operationCount) { if (CacheFactory.AppsettingCache.NotShadowItem) { return; } var shadow = ItemShadows.Find(d => d.Shadow.ItemId == entity.ItemId); if (shadow != null) { if (shadow.Shadow.OperationType != (int)operationType) { shadow.Shadow.OperationCount = operationCount; shadow.Shadow.OperationType = (int)operationType; } else { shadow.Shadow.OperationCount += operationCount; } } else { ItemShadows.Add(new ItemShadow(entity, operationType, TransactionId, operationCount)); } }
public TeammemberShadow(Guid teammemberId, int playerId, EnumOperationType operationType, Guid transactionId) { Shadow = new ShadowTeammemberEntity(); Shadow.TransactionId = transactionId; Shadow.OperationType = (int)operationType; Shadow.TeammemberId = teammemberId; Shadow.PlayerId = playerId; }
public void OperationButtonClick(object sender, EventArgs e) { if (!(sender is Button btn)) { return; } _dockContent.Text = btn.Text; var opValue = btn.Name.Split(new[] { "-type-" }, StringSplitOptions.None); //_mType = (EnumOperationType)int.Parse(opValue[1]); _mType = (EnumOperationType)Enum.Parse(typeof(EnumOperationType), opValue[1]); _operation = opValue[0]; RenderModule(); }
public ItemShadow(ItemInfoEntity entity, EnumOperationType operationType, Guid transactionId, int operationCount) { Shadow = new ShadowItemEntity(); Shadow.TransactionId = transactionId; Shadow.OperationType = (int)operationType; Shadow.ItemId = entity.ItemId; Shadow.ItemCode = entity.ItemCode; Shadow.ItemType = entity.ItemType; Shadow.ItemCount = entity.ItemCount; Shadow.IsBinding = entity.IsBinding; Shadow.ItemProperty = SerializationHelper.ToByte(entity.ItemProperty); Shadow.GridIndex = entity.GridIndex; Shadow.Status = entity.Status; Shadow.OperationCount = operationCount; }
/// <summary> /// itemlist /// </summary> /// <param name="itemList"></param> /// <param name="operationType"></param> public void AddShadow(List <ItemInfoEntity> itemList, EnumOperationType operationType, int operationCount) { if (CacheFactory.AppsettingCache.NotShadowItem) { return; } if (itemList == null || itemList.Count <= 0) { return; } foreach (var itemInfoEntity in itemList) { AddShadow(itemInfoEntity, operationType, operationCount); } }
/// <summary> /// Teammember /// </summary> /// <param name="teammemberId"></param> /// <param name="playerId"></param> /// <param name="operationType"></param> public void AddShadow(Guid teammemberId, int playerId, EnumOperationType operationType) { Shadows.Add(new TeammemberShadow(teammemberId, playerId, operationType, TransactionId)); }
/// <summary> /// Teammember /// </summary> /// <param name="entity"></param> /// <param name="operationType"></param> public void AddShadow(TeammemberEntity entity, EnumOperationType operationType) { Shadows.Add(new TeammemberShadow(entity, operationType, TransactionId)); }
public TeammemberShadow(TeammemberEntity entity, EnumOperationType operationType, Guid transactionId) : this(entity.Idx, entity.PlayerId, operationType, transactionId) { }
/// <summary> /// Формирования объекта отображения информации об отправках (по накладной за отчётный месяц) /// </summary> /// <param name="operationCategory">filter on category</param> /// <param name="chooseDate">Work period</param> /// <param name="page">Current page</param> /// <param name="pageSize">Count item on page</param> /// <param name="recordCount"></param> /// <returns></returns> public IEnumerable <ShippingDTO> ShippingsViews(EnumOperationType operationCategory, DateTime chooseDate, int page, int pageSize, out short recordCount) { //exit when empty result (decrease count server query) if (this._engage.GetCountRows <krt_Guild18>(x => x.reportPeriod == chooseDate) == 0) { recordCount = 0; return(new List <ShippingDTO>()); } //linq to object(etsng) copy in memory (because EF don't support two dbcontext work together, resolve through expression tree maybe) var wrkData = this._engage.GetTable <krt_Guild18, int>(x => x.reportPeriod == chooseDate).ToList(); //dispatch var kg18Src = wrkData.GroupBy(x => new { x.reportPeriod, x.idDeliviryNote, x.warehouse }) .OrderBy(x => x.Key.idDeliviryNote).ToList(); /*linqkit*/ //v_otpr var votprPredicate = PredicateBuilder.New <v_otpr>(false).DefaultExpression.And(x => ((x.oper == (short)operationCategory) || operationCategory == EnumOperationType.All) && x.state == 32 && (new[] { "3494", "349402" }.Contains(x.cod_kl_otpr) || new[] { "3494", "349402" }.Contains(x.cod_klient_pol))); votprPredicate = kg18Src.Select(x => x.Key.idDeliviryNote).Aggregate(votprPredicate, (current, value) => current.Or(e => e.id == value && ((e.oper == (short)operationCategory) || operationCategory == EnumOperationType.All))).Expand(); var voSrc = this._engage.GetTable <v_otpr, int>(votprPredicate).ToList(); recordCount = (short)voSrc.Count(); //v_o_v //var vovPredicate = PredicateBuilder.New<v_o_v>(false).DefaultExpression; var vovPredicate = voSrc.Select(x => x.id).Aggregate(PredicateBuilder.New <v_o_v>(false).DefaultExpression, (current, value) => current.Or(v => v.id_otpr == value)).Expand(); var vovSrc = this._engage.GetTable <v_o_v, int>(vovPredicate).ToList(); //etsng //var etsngPredicate = PredicateBuilder.New<etsng>(false); var etsngPredicate = voSrc.Select(x => x.cod_tvk_etsng).Aggregate(PredicateBuilder.New <Etsng>(false).DefaultExpression, (current, value) => current.Or(v => v.Etsng1 == value)).Expand(); var etsngSrc = this._engage.GetTable <Etsng, int>(etsngPredicate).ToList(); var result = (from kg in kg18Src join vo in voSrc on kg.Key.idDeliviryNote equals vo.id into g1 from item in g1.DefaultIfEmpty() where (item != null && item.oper == (short)operationCategory) || operationCategory == EnumOperationType.All join e in etsngSrc on item == null ? "" : item.cod_tvk_etsng equals e.Etsng1 into g2 from item2 in g2.DefaultIfEmpty() select new ShippingDTO() { VOtpr = item, Vovs = vovSrc.Where(x => (x != null) && x.id_otpr == (item == null ? 0 : item.id)), VPams = this._engage.GetTable <v_pam, int>(PredicateBuilder.New <v_pam>().DefaultExpression.And(x => x.state == 32 && new[] { "3494", "349402" }.Contains(x.kodkl)) .And(PredicateExtensions.InnerContainsPredicate <v_pam, int>("id_ved", wrkData.Where(x => x.reportPeriod == chooseDate && x.idDeliviryNote == (item != null ? item.id : 0) && x.type_doc == 2).Select(y => y.idSrcDocument != null ? (int)y.idSrcDocument : 0))).Expand()) .ToList(), VAkts = this._engage.GetTable <v_akt, int>(PredicateBuilder.New <v_akt>().DefaultExpression.And(x => new[] { "3494", "349402" }.Contains(x.kodkl) && x.state == 32) .And(PredicateExtensions.InnerContainsPredicate <v_akt, int>("Id", wrkData.Where(x => x.reportPeriod == chooseDate && x.idDeliviryNote == (item != null ? item.id : 0) && x.type_doc == 3).Select(y => y.idSrcDocument != null ? (int)y.idSrcDocument : 0))).Expand()) .ToList(), VKarts = this._engage.GetTable <v_kart, int>(PredicateBuilder.New <v_kart>().DefaultExpression.And(x => new[] { "3494", "349402" }.Contains(x.cod_pl)) .And(PredicateExtensions.InnerContainsPredicate <v_kart, int>("Id", wrkData.Where(z => z.reportPeriod == chooseDate && z.idDeliviryNote == (item != null ? item.id : (int?)null)).Select(y => y.idCard != null ? (int)y.idCard : 0))).Expand()) .ToList(), KNaftan = this._engage.GetTable <krt_Naftan, int>(PredicateExtensions.InnerContainsPredicate <krt_Naftan, long>("keykrt", wrkData.Where(z => z.reportPeriod == chooseDate && z.idDeliviryNote == (item != null ? item.id : (int?)null)).Select(y => y.idScroll != null ? (long)y.idScroll : 0))) .ToList(), Etsng = item2, Guild18 = new krt_Guild18 { reportPeriod = kg.Key.reportPeriod, idDeliviryNote = kg.Key.idDeliviryNote, warehouse = kg.Key.warehouse } }).Skip(pageSize * (page - 1)).Take(pageSize).OrderByDescending(x => x.VOtpr != null ? x.VOtpr.n_otpr : x.Guild18.idDeliviryNote.ToString()).ToList(); return(result); }
public ActionResult Index(SessionStorage storage, InputMenuViewModel menuView, EnumOperationType operationCategory = EnumOperationType.All, short page = 1, short pageSize = 9, bool asService = false) { if (this.Request.IsAjaxRequest() && this.ModelState.IsValid) { short recordCount; menuView.ReportPeriod = this._bussinesEngage.SyncActualDate(storage, menuView.ReportPeriod); //temp resolve (In some reason default binding not parse json to enum from queryString collection) var typeOfOperation = this.Request.QueryString["operationCategory"] == String.Empty ? (int)EnumOperationType.All : Int32.Parse(this.Request.QueryString["operationCategory"]); var model = new DispatchListViewModel() { Dispatchs = this._bussinesEngage.ShippingsViews((EnumOperationType)typeOfOperation, menuView.ReportPeriod, page, pageSize, out recordCount), PagingInfo = new PagingInfo() { CurrentPage = page, ItemsPerPage = pageSize, TotalItems = recordCount, RoutingDictionary = this.Request.RequestContext.RouteData.Values }, }; //tips: consider use web api mechanism instead of mvc implementation if (asService) { return(this.Json(model, JsonRequestBehavior.AllowGet)); } return(this.PartialView("ShippingSummary", model)); } return(this.View()); }