public void LinkConception(List <int> accessoryPKs, int conceptionPK, string userID)
        {
            try
            {
                // link conception
                Conception conception = db.Conceptions.Find(conceptionPK);
                foreach (var accessoryPK in accessoryPKs)
                {
                    Accessory accessory = db.Accessories.Find(accessoryPK);
                    if (conception.CustomerPK != accessory.CustomerPK)
                    {
                        throw new Exception("MÃ HÀNG VÀ ACCESSORY KHÔNG CÙNG CUSTOMER!");
                    }
                    ConceptionAccessory conceptionAccessory = new ConceptionAccessory(conceptionPK, accessoryPK);
                    db.ConceptionAccessories.Add(conceptionAccessory);

                    // lưu activity link
                    Activity activity1 = new Activity("link", conception.ConceptionCode, "Conception", userID);
                    Activity activity2 = new Activity("link", accessory.AccessoryID, "Accessory", userID);
                    db.Activities.Add(activity1);
                    db.Activities.Add(activity2);
                }

                db.SaveChanges();
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        public void DeleteConception(int conceptionPK, string userID)
        {
            try
            {
                ConceptionAccessory conceptionAccessory = (from ca in db.ConceptionAccessories
                                                           where ca.ConceptionPK == conceptionPK
                                                           select ca).FirstOrDefault();
                if (conceptionAccessory != null)
                {
                    throw new Exception("MÃ HÀNG ĐÃ CÓ GẮN PHỤ LIỆU, KHÔNG ĐƯỢC XÓA");
                }
                // delete conception
                Conception conception = db.Conceptions.Find(conceptionPK);
                db.Conceptions.Remove(conception);

                // lưu activity delete
                Activity activity = new Activity("delete", conception.ConceptionCode, "Conception", userID);
                db.Activities.Add(activity);

                db.SaveChanges();
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        public void UnlinkConception(int accessoryPK, int conceptionPK, string userID)
        {
            try
            {
                // unlink conception
                Conception conception = db.Conceptions.Find(conceptionPK);
                Accessory  accessory  = db.Accessories.Find(accessoryPK);
                if (conception.CustomerPK != accessory.CustomerPK)
                {
                    throw new Exception("MÃ HÀNG VÀ PHỤ LIỆU KHÔNG CÙNG KHÁCH HÀNG!");
                }
                List <DemandedItem> demandedItems = (from dI in db.DemandedItems
                                                     where dI.AccessoryPK == accessoryPK
                                                     select dI).ToList();
                foreach (var item in demandedItems)
                {
                    Demand demand = db.Demands.Find(item.DemandPK);
                    if (demand.ConceptionPK == conception.ConceptionPK)
                    {
                        throw new Exception("MÃ HÀNG VÀ PHỤ LIỆU ĐÃ ĐƯỢC LIÊN KẾT VÀ SỬ DỤNG!");
                    }
                }

                ConceptionAccessory conceptionAccessory = (from ca in db.ConceptionAccessories
                                                           where ca.AccessoryPK == accessoryPK && ca.ConceptionPK == conceptionPK
                                                           select ca).FirstOrDefault();
                db.ConceptionAccessories.Remove(conceptionAccessory);

                // lưu activity unlink
                Activity activity1 = new Activity("unlink", conception.ConceptionCode, "Conception", userID);
                Activity activity2 = new Activity("unlink", accessory.AccessoryID, "Accessory", userID);
                db.Activities.Add(activity1);
                db.Activities.Add(activity2);

                db.SaveChanges();
            }
            catch (Exception e)
            {
                throw e;
            }
        }
示例#4
0
        public void CreateDemandedItems(Demand demand, List <Client_Accessory_DemandedQuantity_Comment> list, int conceptionPK)
        {
            try
            {
                foreach (var item in list)
                {
                    Accessory accessory = (from a in db.Accessories
                                           where a.AccessoryID == item.AccessoryID
                                           select a).FirstOrDefault();

                    Conception conception = db.Conceptions.Find(conceptionPK);

                    ConceptionAccessory conceptionAccessory = (from ca in db.ConceptionAccessories
                                                               where ca.AccessoryPK == accessory.AccessoryPK &&
                                                               ca.ConceptionPK == conception.ConceptionPK
                                                               select ca).FirstOrDefault();
                    if (accessory == null)
                    {
                        throw new Exception("PHỤ LIỆU " + accessory.AccessoryID + " KHÔNG TỒN TẠI!");
                    }
                    if (conception == null)
                    {
                        throw new Exception("MÃ HÀNG " + conception.ConceptionCode + " KHÔNG TỒN TẠI!");
                    }
                    if (conceptionAccessory == null)
                    {
                        throw new Exception("PHỤ LIỆU " + accessory.AccessoryID + " CHƯA ĐƯỢC GẮN CC!");
                    }
                    DemandedItem demandedItem = new DemandedItem(item.DemandedQuantity, item.Comment, demand.DemandPK, accessory.AccessoryPK);
                    db.DemandedItems.Add(demandedItem);
                }
                db.SaveChanges();
            }
            catch (Exception e)
            {
                throw e;
            }
        }