コード例 #1
0
        public async Task StatusChangeAsync(string id, ShiftStatus newStatus)
        {
            var shift = await this.shiftRepository.All().FirstOrDefaultAsync(x => x.Id == id);

            shift.ShiftStatus = newStatus;
            await this.shiftRepository.SaveChangesAsync();
        }
コード例 #2
0
            /// <summary>
            /// Transits the shift object status and trigger associated operations.
            /// </summary>
            /// <param name="shift">The shift object.</param>
            public void TransitShiftStatus(Shift shift)
            {
                ThrowIf.Null(shift, "shift");

                ShiftStatus    toStatus = this.request.ToStatus;
                Action <Shift> nextAction;

                if (!this.transitions.TryGetValue(new KeyValuePair <ShiftStatus, ShiftStatus>(shift.Status, toStatus), out nextAction))
                {
                    throw new DataValidationException(
                              DataValidationErrors.Microsoft_Dynamics_Commerce_Runtime_InvalidStatus,
                              string.Format("Invalid status change request from {0} to {1}.", shift.Status, toStatus));
                }

                // Validates if the shift status transition is allowable
                this.ValidateCanChangeStatus(shift);

                // Validate start amount and tender declaration if required
                if (toStatus == ShiftStatus.Closed)
                {
                    ShiftCalculator.Calculate(this.request.RequestContext, shift, this.request.ShiftTerminalId, this.request.ShiftId);

                    this.ValidateStartingAmountsAndTenderDeclarationForClose(shift);
                }

                ThrowIf.Null(nextAction, "nextAction");
                nextAction.Invoke(shift);
            }
コード例 #3
0
ファイル: Updates.cs プロジェクト: gmckin/TechPortal
 /// <summary>
 /// update status
 /// </summary>
 /// <param name="oldId"></param>
 /// <param name="sdao"></param>
 /// <returns></returns>
 public bool UpdateStatus(string oldId, ShiftStatusDAO sdao)
 {
     try
     {
         if (!string.IsNullOrWhiteSpace(oldId) && sdao != null)
         {
             ShiftStatus ns  = mapper.MapToEntity(sdao);
             ShiftStatus old = ef.GetStatuss().FirstOrDefault(a => a.SSDescription.Equals(oldId));
             ns.ShiftStatusID = old.ShiftStatusID;
             return(ef.UpdateStatus(old, ns));
         }
         return(false);
     }
     catch (Exception e)
     {
         return(false);
     }
 }
コード例 #4
0
ファイル: Deletions.cs プロジェクト: gmckin/TechPortal
 /// <summary>
 /// delete status
 /// </summary>
 /// <param name="ssdao"></param>
 /// <returns></returns>
 public bool DeleteShiftStatus(ShiftStatusDAO ssdao)
 {
     try
     {
         if (ssdao != null)
         {
             ShiftStatus ss       = mapper.MapToEntity(ssdao);
             var         toDelete = ef.GetStatuss().FirstOrDefault((m => m.SSDescription == ss.SSDescription));
             return(ef.DeleteStatus(toDelete));
         }
         else
         {
             return(false);
         }
     }
     catch (Exception e)
     {
         throw;
     }
 }
コード例 #5
0
 public BarcoShiftViewModel(BarcoShift shift)
 {
     ShiftStatus = shift.ShiftStatus;
     BarcoMember = new BarcoMemberViewModel(shift.BarcoMember);
 }
コード例 #6
0
 public bool UpdateStatus(ShiftStatus old, ShiftStatus s)
 {
     db.Entry(old).CurrentValues.SetValues(s);
     return(db.SaveChanges() > 0);
 }
コード例 #7
0
 public bool InsertStatus(ShiftStatus s)
 {
     db.ShiftStatus.Add(s);
     return(db.SaveChanges() > 0);
 }
コード例 #8
0
 public bool DeleteStatus(ShiftStatus s)
 {
     db.ShiftStatus.Remove(s);
     return(db.SaveChanges() > 0);
 }
コード例 #9
0
            internal static IList <Shift> GetAllStoreShiftsWithStatus(RequestContext context, long channelId, ShiftStatus status, QueryResultSettings settings, bool includeSharedShifts)
            {
                ShiftDataQueryCriteria criteria = new ShiftDataQueryCriteria
                {
                    ChannelId           = channelId,
                    Status              = (int)status,
                    IncludeSharedShifts = includeSharedShifts
                };

                GetShiftDataDataRequest dataServiceRequest = new GetShiftDataDataRequest(criteria, settings);

                return(context.Runtime.Execute <EntityDataServiceResponse <Shift> >(dataServiceRequest, context).PagedEntityCollection.Results);
            }
コード例 #10
0
            internal static IList <Shift> GetShiftsForStaffWithStatus(RequestContext context, long channelId, string staffId, ShiftStatus status, QueryResultSettings settings, bool includeSharedShifts)
            {
                ShiftDataQueryCriteria criteria = new ShiftDataQueryCriteria
                {
                    ChannelId           = channelId,
                    Status              = (int)status,
                    SearchByStaffId     = true,
                    IncludeSharedShifts = includeSharedShifts
                };

                if (!string.IsNullOrWhiteSpace(staffId))
                {
                    criteria.StaffId = staffId;
                }

                GetShiftDataDataRequest dataServiceRequest = new GetShiftDataDataRequest(criteria, settings);

                return(context.Runtime.Execute <EntityDataServiceResponse <Shift> >(dataServiceRequest, context).PagedEntityCollection.Results);
            }
コード例 #11
0
 internal static IList <Shift> GetShiftsForStaffWithStatus(RequestContext context, long channelId, ShiftStatus status, QueryResultSettings settings, bool includeSharedShifts)
 {
     return(GetShiftsForStaffWithStatus(context, channelId, null, status, settings, includeSharedShifts));
 }