Ejemplo n.º 1
0
 /// <summary>
 /// Create a new <see cref="Altask.www.Models.TaskInstance"/> from a <see cref="Altask.Data.Dto.Occurrence"/>.
 /// </summary>
 /// <param name="task"></param>
 /// <param name="date"></param>
 /// <param name="occurrence"></param>
 /// <returns></returns>
 public TaskInstance MergeOccurrence(Data.Dto.Occurrence occurrence)
 {
     AssetId       = occurrence.AssetId;
     Asset         = occurrence.Asset;
     AsEarlyAsDate = occurrence.AsEarlyAsDate;
     Completed     = occurrence.Completed;
     CompletedBy   = occurrence.CompletedBy;
     CompletedOn   = occurrence.CompletedOn;
     Date          = occurrence.Date;
     Dismissed     = occurrence.Dismissed;
     DismissedBy   = occurrence.DismissedBy;
     DismissedOn   = occurrence.DismissedOn;
     FormModel     = occurrence.FormModel;
     OccurrenceId  = occurrence.Id;
     ResumedBy     = occurrence.ResumedBy;
     ResumedOn     = occurrence.ResumedOn;
     ScheduleId    = occurrence.ScheduleId;
     Started       = occurrence.Started;
     StartedBy     = occurrence.StartedBy;
     StartedOn     = occurrence.StartedOn;
     StoppedBy     = occurrence.StoppedBy;
     StoppedOn     = occurrence.StoppedOn;
     TimeSpent     = occurrence.TimeSpent;
     UserId        = occurrence.UserId;
     User          = occurrence.User;
     return(this);
 }
Ejemplo n.º 2
0
        internal override void BeforeCreate(Data.Model.Occurrence entity, Data.Dto.Occurrence dto)
        {
            var schedule = entity.Schedule ?? Context.Schedules.FirstOrDefault(s => s.Id == entity.ScheduleId);

            entity.Date = entity.Date.LessSeconds();
            var date = entity.Date;

            if (schedule.AsEarlyAsN.HasValue)
            {
                switch (schedule.AsEarlyAsFrequency)
                {
                case "Minute(s)":
                    entity.AsEarlyAsDate = date.AddMinutes(-(double)schedule.AsEarlyAsN);
                    break;

                case "Hour(s)":
                    entity.AsEarlyAsDate = date.AddHours(-(double)schedule.AsEarlyAsN);
                    break;

                case "Day(s)":
                    entity.AsEarlyAsDate = date.AddDays(-(double)schedule.AsEarlyAsN);
                    break;

                case "Week(s)":
                    entity.AsEarlyAsDate = date.AddDays(-(double)(schedule.AsEarlyAsN * 7));
                    break;

                case "Month(s)":
                    entity.AsEarlyAsDate = date.AddMonths(-schedule.AsEarlyAsN.Value);
                    break;
                }
            }
        }