示例#1
0
        public void Add_Resource_To_Part()
        {
            IPartsService repo = new PartsService(new BadgerDataModel());
            PartDetailDTO part = new PartDetailDTO();

            part.UnitCost        = 1.25m;
            part.ItemDescription = "Master Widjet 1023";
            part.ItemName        = "MW-1023";
            part.PartNum         = "MW-10034";

            part.MarkUp   = 1.25m;
            part.Waste    = 2.0m;
            part.Weight   = 12.25m;
            part.UID      = 1;
            part.ManuId   = 245;
            part.Location = "AC23";
            part.Obsolete = false;
            part.Sku      = "1023847A990";

            ResourceDto resource = new ResourceDto
            {
                ResourceDescription = "Chipman Home Network",
                CurrentVersion      = 1,
                Data = File.ReadAllBytes(@"C:\Users\Rich.DESIGNSYNTHESIS\Documents\chipmanHomeNetwork.sdr")
            };

            part.Resources.Add(resource);
            repo.InsertOrUpdate(part, "Richard Young");

            Assert.IsTrue(1 == 1);
        }
        public void InsertOrUpdate(PartDetailDTO partDTO, string user)
        {
            var part = _context.Part.Include(r => r.GetResource).FirstOrDefault(o => o.PartID == partDTO.PartID);

            if (part == null)
            {
                part           = new Part();
                part.DateAdded = DateTime.Today;
                part.AddedBy   = user;
                _context.Part.Add(part);
            }

            //Map properties
            part.PartNum         = partDTO.PartNum;
            part.ModifiedDate    = DateTime.Today;
            part.ModifiedBy      = user;
            part.ObsoluteFlag    = partDTO.Obsolete;
            part.Cost            = partDTO.UnitCost;
            part.UID             = partDTO.UID;
            part.Location        = partDTO.Location;
            part.PartTypeId      = partDTO.PartTypeID;
            part.ManuId          = partDTO.ManuId;
            part.ItemDescription = partDTO.ItemDescription;
            part.ItemName        = partDTO.ItemName;
            part.PartNum         = partDTO.PartNum;
            part.MarkUp          = partDTO.MarkUp;
            part.Waste           = partDTO.Waste;
            part.Weight          = partDTO.Weight;

            //remove deleted resource -
            part.GetResource
            .Where(d => !partDTO.Resources.Any(ResourceDto => ResourceDto.ResourceID == d.ResourceID)).ToList()
            .ForEach(deleted => _context.Resource.Remove(deleted));

            //update or add resource
            partDTO.Resources.ToList().ForEach(detailDTO =>
            {
                var detail = part.GetResource.FirstOrDefault(d => d.ResourceID == detailDTO.ResourceID);
                if (detail == null)
                {
                    detail             = new Resource();
                    detail.CreatedDate = DateTime.Today;
                    detail.Createdby   = user;
                    part.GetResource.Add(detail);
                }
                detail.CurrentVersion      = detailDTO.CurrentVersion;
                detail.ResourceDescription = detailDTO.ResourceDescription;
                detail.PartID   = detailDTO.PartID;
                detail.Data     = detailDTO.Data;
                detail.FileSize = FileHelpers.GetSizeInMemory(detailDTO.Data.Length);
            });
            _context.SaveChanges();
        }
示例#3
0
 public void Update(PartDetailDTO dto)
 {
     throw new NotImplementedException();
 }