예제 #1
0
        public async Task <int> InitiateRelease(int ReleaseID)
        {
            int     count = 0;
            Release currentRelease;

            using (IReleaseRepository db = new ReleaseRepository())
            {
                currentRelease = db.getReleaseForInitiateCheckList(ReleaseID);
            }
            using (IVendorRepository DB = new VendorRepository())
            {
                Vendor currentVendor = new VendorRepository().Where(v => v.Name == "Amdocs").Include(v => v.ReleaseVendors).FirstOrDefault();
                var    Areas         = currentRelease.ReleaseAreaOwners.Where(a => a.IsChecked == true).ToList();

                List <VendorAreas>   newVendorAreas = new List <VendorAreas>();
                List <ReleaseVendor> ReleaseVendors = new List <ReleaseVendor>();
                Areas.ForEach(r =>
                {
                    var newObj = new VendorAreas()
                    {
                        VendorID  = currentVendor.VendorID,
                        AreaID    = r.AreaID,
                        IsChecked = true
                    };
                    newVendorAreas.Add(newObj);
                });
                currentVendor.VendorAreass = newVendorAreas;

                var currentReleaseVendor = currentVendor.ReleaseVendors.FirstOrDefault(v => v.ReleaseID == ReleaseID);

                if (currentReleaseVendor == null)
                {
                    currentVendor.ReleaseVendors = new List <ReleaseVendor>()
                    {
                        new ReleaseVendor()
                        {
                            ReleaseID = ReleaseID, VendorID = currentVendor.VendorID, IsFullTrack = true
                        }
                    }
                }
                ;
                count += await DB.EditVendor(currentVendor, currentRelease, (WindowsPrincipal)User);
            }
            return(count);
        }