/// <summary> /// Maps WorkCycle type to WpfWorkCycle /// </summary> /// <param name="source"></param> /// <returns></returns> internal static WpfWorkCycle MapWorkCycleToWpfWorkCycle(WorkCycle source) { var config = new MapperConfiguration(cfg => { cfg.CreateMap <WorkCycle, WpfWorkCycle>(); }); var iMapper = config.CreateMapper(); return(iMapper.Map <WorkCycle, WpfWorkCycle>(source)); }
public static WorkCycle CreateWorkCycle(string workCycleId, int daysPerPeriod) { WorkCycle workCycle = new WorkCycle(); workCycle.WorkCycleId = workCycleId; workCycle.DaysPerPeriod = daysPerPeriod; return(workCycle); }
public Worker(string workName, WorkCycle cycle, int interval, Action action) { Ensure.NotNull(workName, "The work name cannot be null!"); Ensure.GrandThan(interval, 0, "The interval val cannot be less than zero!", false); _workName = workName; _option = new WorkOption(cycle, interval); _action = action; _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(this.GetType()); InitialingScheduleInterval(); }
private PurchaseOrder CreateNewPurchaseOrderForInsert(WorkCycle fullWorkCycleFromDb) { var purchaseOrderToDb = new PurchaseOrder { PurchaseOrderNumber = GenerateNewPurchaseOrderNumber(), DateCreated = DateTime.Now, CreatedBy = _user.Id, StatusId = PurchaseOrderStatus.New.ToString(), WorkCycleId = fullWorkCycleFromDb.Id, Active = true, Lines = fullWorkCycleFromDb.WorkCycleLines.Select(wcLine => new PurchaseOrderLine { SupplierId = wcLine.SupplierId, RawMaterialId = wcLine.RawMaterialId, UnitPrice = wcLine.UnitPrice, Quantity = wcLine.PlannedQuantity, UnitOfMeasure = wcLine.UnitOfMeasure }) .ToList() }; return(purchaseOrderToDb); }
internal void AddWorkCycleTransactions(WorkCycle workCycle) { if (workCycle == null) { throw new ArgumentNullException("workCycle"); } var workCycleInDb = _unitOfWork.WorkCycles .SingleOrDefault(wc => wc.Name == workCycle.Name); if (workCycle.Id != workCycleInDb.Id) { throw new ApplicationException("Work Cycle Id mismatch"); } if (workCycleInDb == null) { throw new ApplicationException("Work Cycle not in database"); } var timeStamp = DateTime.Now; foreach (var line in workCycle.WorkCycleLines) { _unitOfWork.WorkCycleTransactions.Add(new WorkCycleTransaction { WorkCycleId = workCycleInDb.Id, RawMaterialId = line.RawMaterialId, TrackingNumber = 0, UsedQuantity = -1.0 * line.PlannedQuantity, DateUsed = timeStamp, CreatedBy = workCycle.UserId, TransactionDate = timeStamp }); _unitOfWork.Complete(); } }
private WorkCycle GetWorkCycle(string workCycleName, bool isActive) { var wcs = _unitOfWork.WorkCycles.GetAll().ToArray(); var supps = _unitOfWork.Suppliers.GetAll().ToArray(); var rms = _unitOfWork.RawMaterials.GetAll().ToArray(); var statuses = _unitOfWork.Statuses.GetAll().ToArray(); var users = _unitOfWork.Users.GetAll().ToArray(); if (supps.Length == 0) { throw new AssertFailedException("No suppliers in Database"); } if (wcs.Length == 0) { throw new AssertFailedException("No Working Cycles in Database"); } if (rms.Length == 0) { throw new AssertFailedException("No Raw Materials in Database"); } if (statuses.Length == 0) { throw new AssertFailedException("No Statuses in Database"); } if (users.Length == 0) { throw new AssertFailedException("NO users in database"); } var wc = new WorkCycle { Name = workCycleName, DateBegin = new DateTime(2017, 12, 10), DateEnd = new DateTime(2017, 12, 23), Active = isActive, UserId = users[0].Id, StatusId = WorkCycleStatus.Draft.ToString() }; var wcLines = new List <WorkCycleLines> { new WorkCycleLines { RawMaterialId = rms[0].Id, SupplierId = supps[0].Id, UnitPrice = 125, PlannedQuantity = 91, UnitOfMeasure = "crates" }, new WorkCycleLines { RawMaterialId = rms[1].Id, SupplierId = supps[1].Id, UnitPrice = 125, PlannedQuantity = 91, UnitOfMeasure = "crates" }, new WorkCycleLines { RawMaterialId = rms[2].Id, SupplierId = supps[2].Id, UnitPrice = 125, PlannedQuantity = 91, UnitOfMeasure = "crates" }, new WorkCycleLines { RawMaterialId = rms[3].Id, SupplierId = supps[3].Id, UnitPrice = 125, PlannedQuantity = 91, UnitOfMeasure = "crates" }, new WorkCycleLines { RawMaterialId = rms[4].Id, SupplierId = supps[1].Id, UnitPrice = 125, PlannedQuantity = 91, UnitOfMeasure = "crates" }, }; wc.Lines = wcLines; return(wc); }
public WorkOption(WorkCycle cycle, int interval) { this.Cycle = cycle; this.Interval = interval; }
private void OnListChanged(object sender, ListChangedEventArgs e) { WorkCycle.UpdateSubTotalSection(); }