public virtual int _GetUniqueIdentifier()
        {
            var hashCode = 399326290;

            hashCode = hashCode * -1521134295 + (Id?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (Origin?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (Destination?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (DaysOfWeek?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (PricePerPallet?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (PricePerKilogram?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (PricePerCubicMeter?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (TotalAvailableCapacityKG?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (EffectiveFrom?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (EffectiveTo?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (TypeOfGoods?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (Revision?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (GUID?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (ReservedCapacityLaden?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (State?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (BaseId?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (Frequency?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (TotalAvailableCapacityM3?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (TotalAvailableCapacityLaden?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (ReservedCapacityKG?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (ReservedCapacityM3?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (FixedPrice?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (OriginComments?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (DestinationComments?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (TruckPlate?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (stringenum?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (DeliveryDate?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (Attribute?.GetHashCode() ?? 0);
            return(hashCode);
        }
Ejemplo n.º 2
0
 public override int GetHashCode()
 {
     unchecked
     {
         return(((BaseId != null ? BaseId.GetHashCode() : 0) * 397) ^ PartId);
     }
 }
Ejemplo n.º 3
0
        public async Task <bool> AddItemAsync(BaseId item)
        {
            await InitializeAsync();

            items.Add(item);

            return(await Task.FromResult(true));
        }
Ejemplo n.º 4
0
        public async Task <bool> UpdateItemAsync(BaseId item)
        {
            await InitializeAsync();

            await itemsTable.UpdateAsync((T)item);

            await SyncAsync();

            return(true);
        }
Ejemplo n.º 5
0
        public async Task <bool> DeleteItemAsync(BaseId item)
        {
            await InitializeAsync();

            var _item = items.Where((BaseId arg) => arg.Id == item.Id).FirstOrDefault();

            items.Remove(_item);

            return(await Task.FromResult(true));
        }
Ejemplo n.º 6
0
        public async Task <bool> DeleteItemAsync(BaseId item)
        {
            await InitializeAsync();
            await PullLatestAsync();

            await itemsTable.DeleteAsync((T)item);

            await SyncAsync();

            return(true);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 依次按照品级、基础ID、促织ID和促织部位ID排序
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public int CompareTo(Item item)
        {
            if (item == null)
            {
                return(1);
            }
            int result = Grade.CompareTo(item.Grade);

            if (result != 0)
            {
                return(result);
            }
            result = BaseId.CompareTo(item.BaseId);
            if (result != 0)
            {
                return(result);
            }
            result = QuquId.CompareTo(item.QuquId);
            if (result != 0)
            {
                return(result);
            }
            return(QuquPartId.CompareTo(item.QuquPartId));
        }
        public questStatus MakeRequired(MakeRequiredViewModel makeRequiredViewModel)
        {
            // Initialize
            questStatus      status = null;
            Mgr              mgr    = new Mgr(this.UserSession);
            DbMgrTransaction trans  = null;


            // BEGIN TRANSACTION
            status = mgr.BeginTransaction("MakeRequired" + Guid.NewGuid().ToString(), out trans);
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }


            // Update every parameter as required or not.
            StoredProcedureParametersMgr storedProcedureParametersMgr = new StoredProcedureParametersMgr(this.UserSession);

            foreach (BaseId baseId in makeRequiredViewModel.Items)
            {
                // Get the parameter
                StoredProcedureParameterId storedProcedureParameterId = new StoredProcedureParameterId(baseId.Id);
                StoredProcedureParameter   storedProcedureParameter   = null;
                status = storedProcedureParametersMgr.Read(trans, storedProcedureParameterId, out storedProcedureParameter);
                if (!questStatusDef.IsSuccess(status))
                {
                    mgr.RollbackTransaction(trans);
                    return(status);
                }

                // Make sure same stored procedure
                if (makeRequiredViewModel.StoredProcedureId != storedProcedureParameter.StoredProcedureId)
                {
                    mgr.RollbackTransaction(trans);
                    return(new questStatus(Severity.Error, "All parameter Id's must be from the same stored procedure!"));
                }

                // Set required flag accordingly and update.
                storedProcedureParameter.bRequired = true;
                status = storedProcedureParametersMgr.Update(trans, storedProcedureParameter);
                if (!questStatusDef.IsSuccess(status))
                {
                    mgr.RollbackTransaction(trans);
                    return(status);
                }
            }

            // Set all the OTHER parameters to false
            List <StoredProcedureParameter> storedProcedureParameterList = null;
            StoredProcedureId storedProcedureId = new StoredProcedureId(makeRequiredViewModel.StoredProcedureId);

            status = storedProcedureParametersMgr.Read(trans, storedProcedureId, out storedProcedureParameterList);
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }
            foreach (StoredProcedureParameter storedProcedureParameter in storedProcedureParameterList)
            {
                BaseId baseId = makeRequiredViewModel.Items.Find(delegate(BaseId _baseId) { return(_baseId.Id == storedProcedureParameter.Id); });
                if (baseId == null)
                {
                    storedProcedureParameter.bRequired = false;
                    status = storedProcedureParametersMgr.Update(trans, storedProcedureParameter);
                    if (!questStatusDef.IsSuccess(status))
                    {
                        mgr.RollbackTransaction(trans);
                        return(status);
                    }
                }
            }

            // COMMIT TRANSACTION
            // THIS HAS TO BE COMMITTED HERE TO AVOID DEADLOCKING ON UPDATING THE FILTERS, NEXT.
            status = mgr.CommitTransaction(trans);
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }

            ////// BEGIN TRANSACTION
            ////status = mgr.BeginTransaction("MakeRequired_RefreshFilters" + Guid.NewGuid().ToString(), out trans);
            ////if (!questStatusDef.IsSuccess(status))
            ////{
            ////    return (status);
            ////}


            ////// Refresh filters using this sproc.
            ////List<Quest.Functional.MasterPricing.FilterId> updatedFilterIds = null;
            ////StoredProceduresMgr storedProceduresMgr = new StoredProceduresMgr(this.UserSession);
            ////status = storedProceduresMgr.RefreshFilters(storedProcedureId, out updatedFilterIds);
            ////if (!questStatusDef.IsSuccess(status))
            ////{
            ////    mgr.RollbackTransaction(trans);
            ////    return (status);
            ////}


            ////// COMMIT TRANSACTION
            ////status = mgr.CommitTransaction(trans);
            ////if (!questStatusDef.IsSuccess(status))
            ////{
            ////    return (status);
            ////}


            ////// TODO: REFACTOR TO GET ALL-IN-ONE TRANSACTION
            ////foreach (FilterId filterId in updatedFilterIds)
            ////{
            ////    Quest.Functional.MasterPricing.Filter filterWithSQL = null;
            ////    FilterMgr filterMgr = new FilterMgr(this.UserSession);
            ////    status = filterMgr.GenerateFilterSQL(filterId, out filterWithSQL);
            ////    if (!questStatusDef.IsSuccess(status))
            ////    {
            ////        return (status);
            ////    }

            ////    // Update filter
            ////    FiltersMgr filtersMgr = new FiltersMgr(this.UserSession);
            ////    status = filtersMgr.Update(filterWithSQL);
            ////    if (!questStatusDef.IsSuccess(status))
            ////    {
            ////        return (status);
            ////    }
            ////}

            return(new questStatus(Severity.Success));
        }
Ejemplo n.º 9
0
 public override int GetHashCode()
 {
     return(BaseId.GetHashCode() + Category.GetHashCode());
 }
Ejemplo n.º 10
0
 /// <summary>
 /// 获取Item的HashCode
 /// </summary>
 /// <returns></returns>
 /// <remarks>用于依赖HashCode的Collection,如HashSet、Dictionary</remarks>
 public override int GetHashCode() => CombineHashCode(CombineHashCode(BaseId.GetHashCode(), QuquId.GetHashCode()), QuquPartId.GetHashCode());
 public TEntity Convert(BaseId source, TEntity destination, ResolutionContext context)
 {
     return(_repositoryService.Find(source.Id));
 }