public ActionResult Edit(item item, HttpPostedFileBase[] inputfile)
        {
            var tem = db.items.FirstOrDefault(m => m.ARTCODE == item.ARTCODE);

            tem.WEBPRICE     = item.WEBPRICE;
            tem.CATEGORYNO   = item.CATEGORYNO;
            tem.ARTNO        = item.ARTNO;
            tem.ARTNAME      = item.ARTNAME;
            tem.IsBestSeller = item.IsBestSeller;


            for (int i = 0; i < inputfile.Length; i++)
            {
                if (inputfile[i] != null)
                {
                    string path = "";
                    path = Path.Combine(Server.MapPath("/Content/ProductImage"), Path.GetFileName(inputfile[i].FileName));
                    inputfile[i].SaveAs(path);
                    var tblPic = new artlink
                    {
                        ARTNO      = tem.ARTNO,
                        LASTCHANGE = DateTime.Now,
                        CREATED    = DateTime.Now,
                        LINK       = path
                    };
                    db.artlinks.Add(tblPic);
                }
            }
            db.SaveChanges();
            return(RedirectToAction("Index"));


            return(View(item));
        }
        public ActionResult Edit(AllModel model, HttpPostedFileBase[] inputfile)
        {
            if (model.tblProductArray != null)
            {
                foreach (var item in model.tblProductArray)
                {
                    var tem = db.items.Find(item.ARTNO);
                    tem.WEBPRICE = model.tblitem.WEBPRICE;

                    tem.CATEGORYNO       = model.tblitem.CATEGORYNO;
                    tem.ARTNAME          = item.ARTNAME;
                    tem.GROUPNO          = model.tblitem.GROUPNO;
                    tem.INFO             = item.INFO;
                    tem.IsBestSeller     = model.tblitem.IsBestSeller;
                    tem.WEBPRICE         = item.WEBPRICE;
                    tem.EXPORTABLE       = model.tblitem.EXPORTABLE;
                    tem.STOCKITEM        = model.tblitem.STOCKITEM;
                    tem.SPECIALOFFER     = model.tblitem.SPECIALOFFER;
                    tem.AUTHORIZABLE     = model.tblitem.AUTHORIZABLE;
                    tem.RESTRICTED       = model.tblitem.RESTRICTED;
                    tem.NOTPOST          = model.tblitem.NOTPOST;
                    tem.NOTADDPOSTAGEFEE = model.tblitem.NOTADDPOSTAGEFEE;
                    tem.WIDTH            = model.tblitem.WIDTH;
                    tem.WEIGHT           = model.tblitem.WEIGHT;
                    tem.HEIGHT           = model.tblitem.HEIGHT;
                    tem.LEN = model.tblitem.LEN;


                    db.Entry(tem).State = EntityState.Modified;
                    if (inputfile != null)
                    {
                        for (int i = 0; i < inputfile.Length; i++)
                        {
                            if (inputfile[i] != null)
                            {
                                string path = "";
                                path = Path.Combine(Server.MapPath("/Content/ProductImage"), Path.GetFileName(inputfile[i].FileName));
                                var picId = db.artlinks.OrderByDescending(x => x.LINENO).FirstOrDefault();
                                inputfile[i].SaveAs(path);
                                var tblPic = new artlink
                                {
                                    LINENO     = picId.LINENO + 1,
                                    ARTNO      = item.ARTNO,
                                    LASTCHANGE = DateTime.Now,
                                    CREATED    = DateTime.Now,
                                    LINK       = inputfile[i].FileName
                                };
                                db.artlinks.Add(tblPic);
                            }
                        }
                    }
                }
            }

            db.SaveChanges();


            return(RedirectToAction("Index"));
        }
        public ActionResult CloneLanguage(int type)
        {
            var listLanguage = db.countries.Where(x => x.status == 1 && x.islanguage == 1).ToList();
            var index        = 0;

            if (type == 1)
            {
                var listPro = db.items.Where(x => x.EXPORTABLE == "T").ToList();

                foreach (var proItem in listPro)
                {
                    foreach (var itemLang in listLanguage)
                    {
                        var itempro = db.items.FirstOrDefault(x => x.IdCurrentItem == proItem.IdCurrentItem && x.CodeLanguage == itemLang.language.ToLower());

                        if (itempro == null)
                        {
                            var tblItem = new item
                            {
                                ARTCODE          = proItem.ARTCODE,
                                ARTNAME          = proItem.ARTNAME,
                                LONGNAME         = proItem.LONGNAME,
                                ARTTYPE          = proItem.ARTTYPE,
                                EXPORTABLE       = proItem.EXPORTABLE,
                                STOCKITEM        = proItem.STOCKITEM,
                                PRODUCERNO       = proItem.PRODUCERNO,
                                CATEGORYNO       = proItem.CATEGORYNO,
                                COLORNO          = proItem.COLORNO,
                                INFO             = proItem.INFO,
                                WEBPRICE         = proItem.WEBPRICE,
                                SPECIALOFFER     = proItem.SPECIALOFFER,
                                PICTURENAME      = proItem.PICTURENAME,
                                NEWUNTIL         = proItem.NEWUNTIL,
                                GROUPNO          = proItem.GROUPNO,
                                AUTHORIZABLE     = proItem.AUTHORIZABLE,
                                RESTRICTED       = proItem.RESTRICTED,
                                NOTPOST          = proItem.NOTPOST,
                                NOTADDPOSTAGEFEE = proItem.NOTADDPOSTAGEFEE,
                                WEIGHT           = proItem.WEIGHT,
                                COLLATIONUNIT    = proItem.COLLATIONUNIT,
                                INFO1            = proItem.INFO1,
                                INFO2            = proItem.INFO2,
                                INFO3            = proItem.INFO3,
                                INFO4            = proItem.INFO4,
                                INFO5            = proItem.INFO5,
                                INFO6            = proItem.INFO6,
                                LEN            = proItem.LEN,
                                HEIGHT         = proItem.HEIGHT,
                                WIDTH          = proItem.WIDTH,
                                UNITNAME       = proItem.UNITNAME,
                                UNITDESCR      = proItem.UNITDESCR,
                                CHECKBOX1      = proItem.CHECKBOX1,
                                CHECKBOX2      = proItem.CHECKBOX2,
                                CHECKBOX3      = proItem.CHECKBOX3,
                                CHECKBOX4      = proItem.CHECKBOX4,
                                CHECKBOX5      = proItem.CHECKBOX5,
                                CHECKBOX6      = proItem.CHECKBOX6,
                                VAT            = proItem.VAT,
                                PACKAGEVOLUME  = proItem.PACKAGEVOLUME,
                                PACKAGEVOLUME2 = proItem.PACKAGEVOLUME2,
                                SIZENO         = proItem.SIZENO,
                                SIZETBLNO      = proItem.SIZETBLNO,
                                SUPPLYCYCLENO  = proItem.SUPPLYCYCLENO,
                                DISCGROUP      = proItem.DISCGROUP,
                                WEBID          = proItem.WEBID,
                                PAYMENTTERM    = proItem.PAYMENTTERM,
                                LASTCHANGE     = proItem.LASTCHANGE,
                                CREATED        = proItem.CREATED,
                                IsBestSeller   = proItem.IsBestSeller,
                                CodeLanguage   = itemLang.language.ToLower(),
                                IdCurrentItem  = proItem.IdCurrentItem,
                            };
                            //tblItem.CREATED = DateTime.Now;
                            //tblItem.LASTCHANGE = DateTime.Now;
                            //tblItem.ARTCODE = proItem.ARTCODE;
                            //tblItem.ARTNAME = proItem.ARTNAME;
                            //tblItem.INFO = proItem.INFO;
                            //tblItem.CodeLanguage = itemLang.language.ToLower();
                            //tblItem.GROUPNO = proItem.GROUPNO;
                            //tblItem.IsBestSeller = proItem.IsBestSeller;
                            //tblItem.EXPORTABLE = proItem.EXPORTABLE;
                            //tblItem.SPECIALOFFER = proItem.SPECIALOFFER;
                            //tblItem.STOCKITEM = proItem.STOCKITEM;
                            //tblItem.AUTHORIZABLE = proItem.AUTHORIZABLE;
                            //tblItem.RESTRICTED = proItem.RESTRICTED;
                            //tblItem.NOTPOST = proItem.NOTPOST;
                            //tblItem.NOTADDPOSTAGEFEE = proItem.NOTADDPOSTAGEFEE;
                            //tblItem.WIDTH = proItem.WIDTH;
                            //tblItem.WEIGHT = proItem.WEIGHT;
                            //tblItem.LEN = proItem.LEN;
                            //tblItem.HEIGHT = proItem.HEIGHT;
                            //tblItem.IdCurrentItem = proItem.IdCurrentItem;

                            db.items.Add(tblItem);
                            var tblLink = db.artlinks.FirstOrDefault(x => x.ARTNO == proItem.ARTNO);
                            if (tblLink != null)
                            {
                                var tblPic = new artlink
                                {
                                    ARTNO      = tblItem.ARTNO,
                                    LASTCHANGE = DateTime.Now,
                                    CREATED    = DateTime.Now,
                                    LINK       = tblLink.LINK
                                };
                                db.artlinks.Add(tblPic);
                            }
                            index++;
                        }
                        if (index == 25)
                        {
                            index = 0;
                            db.SaveChanges();
                        }
                    }
                }
            }
            if (type == 2)
            {
                var listGroup = db.artgrps.ToList();
                foreach (var itemGroup in listGroup)
                {
                    CloneDQGroup(itemGroup.IdCurrentItem, listLanguage);
                }
            }
            if (type == 3)
            {
                var listMasterMetaGroup = db.metagrups.Where(x => x.PARENTNO == 0).ToList();
                foreach (var itemGroup in listMasterMetaGroup)
                {
                    CloneDqMasterMetaGroup(itemGroup.IdCurrentItem, listLanguage);
                }
            }
            if (type == 4)
            {
                var listMasterMetaGroup = db.metagrups.Where(x => x.PARENTNO != 0).ToList();
                foreach (var itemGroup in listMasterMetaGroup)
                {
                    CloneDqMetaGroup(itemGroup.METAGROUPNO, listLanguage);
                }
            }

            return(null);
        }
        // GET: /Product/Edit/5
        public ActionResult Edit(int id)
        {
            var proItem  = db.items.FirstOrDefault(x => x.ARTNO == id);
            var category = db.categories.ToList();

            category.Insert(0, new category {
                CATEGORYNO = 0, CATEGORYNAME = "Select Category"
            });
            ViewBag.CategoryList = category;
            ViewBag.WarhouseList = db.warehouses.ToList();
            ViewBag.stockList    = db.stockcods.ToList();
            ViewBag.StoreList    = db.stores.ToList();
            var metagroup = db.metagrups.Where(x => x.IsActive == true).ToList();

            metagroup.Insert(0, new metagrup {
                METAGROUPNO = 0, METAGROUPNAME = "Select Meta Group"
            });
            ViewBag.MetaGroupList = metagroup;

            var list = db.countries.Where(x => x.status == 1 && x.islanguage == 1).ToList();

            ViewBag.ListCountry = list;
            if (id == 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            foreach (var itemLang in list)
            {
                var pro = db.items.FirstOrDefault(x => x.IdCurrentItem == id && x.CodeLanguage == itemLang.language.ToLower());
                if (pro == null)
                {
                    if (proItem != null)
                    {
                        //var tblItem = new item();
                        //tblItem.ARTTYPE = 1;

                        //tblItem.CREATED = DateTime.Now;
                        //tblItem.LASTCHANGE = DateTime.Now;
                        //tblItem.ARTCODE = proItem.ARTCODE;
                        //tblItem.ARTNAME = proItem.ARTNAME;
                        //tblItem.INFO = proItem.INFO;
                        //tblItem.CodeLanguage = itemLang.language.ToLower();
                        //tblItem.GROUPNO = proItem.GROUPNO;
                        //tblItem.IsBestSeller = proItem.IsBestSeller;
                        //tblItem.EXPORTABLE = proItem.EXPORTABLE;
                        //tblItem.SPECIALOFFER = proItem.SPECIALOFFER;
                        //tblItem.STOCKITEM = proItem.STOCKITEM;
                        //tblItem.AUTHORIZABLE = proItem.AUTHORIZABLE;
                        //tblItem.RESTRICTED = proItem.RESTRICTED;
                        //tblItem.NOTPOST = proItem.NOTPOST;
                        //tblItem.NOTADDPOSTAGEFEE = proItem.NOTADDPOSTAGEFEE;
                        //tblItem.WIDTH = proItem.WIDTH;
                        //tblItem.WEIGHT = proItem.WEIGHT;
                        //tblItem.LEN = proItem.LEN;
                        //tblItem.HEIGHT = proItem.HEIGHT;
                        //tblItem.IdCurrentItem = proItem.IdCurrentItem;
                        var tblItem = new item
                        {
                            ARTCODE          = proItem.ARTCODE,
                            ARTNAME          = proItem.ARTNAME,
                            LONGNAME         = proItem.LONGNAME,
                            ARTTYPE          = proItem.ARTTYPE,
                            EXPORTABLE       = proItem.EXPORTABLE,
                            STOCKITEM        = proItem.STOCKITEM,
                            PRODUCERNO       = proItem.PRODUCERNO,
                            CATEGORYNO       = proItem.CATEGORYNO,
                            COLORNO          = proItem.COLORNO,
                            INFO             = proItem.INFO,
                            WEBPRICE         = proItem.WEBPRICE,
                            SPECIALOFFER     = proItem.SPECIALOFFER,
                            PICTURENAME      = proItem.PICTURENAME,
                            NEWUNTIL         = proItem.NEWUNTIL,
                            GROUPNO          = proItem.GROUPNO,
                            AUTHORIZABLE     = proItem.AUTHORIZABLE,
                            RESTRICTED       = proItem.RESTRICTED,
                            NOTPOST          = proItem.NOTPOST,
                            NOTADDPOSTAGEFEE = proItem.NOTADDPOSTAGEFEE,
                            WEIGHT           = proItem.WEIGHT,
                            COLLATIONUNIT    = proItem.COLLATIONUNIT,
                            INFO1            = proItem.INFO1,
                            INFO2            = proItem.INFO2,
                            INFO3            = proItem.INFO3,
                            INFO4            = proItem.INFO4,
                            INFO5            = proItem.INFO5,
                            INFO6            = proItem.INFO6,
                            LEN            = proItem.LEN,
                            HEIGHT         = proItem.HEIGHT,
                            WIDTH          = proItem.WIDTH,
                            UNITNAME       = proItem.UNITNAME,
                            UNITDESCR      = proItem.UNITDESCR,
                            CHECKBOX1      = proItem.CHECKBOX1,
                            CHECKBOX2      = proItem.CHECKBOX2,
                            CHECKBOX3      = proItem.CHECKBOX3,
                            CHECKBOX4      = proItem.CHECKBOX4,
                            CHECKBOX5      = proItem.CHECKBOX5,
                            CHECKBOX6      = proItem.CHECKBOX6,
                            VAT            = proItem.VAT,
                            PACKAGEVOLUME  = proItem.PACKAGEVOLUME,
                            PACKAGEVOLUME2 = proItem.PACKAGEVOLUME2,
                            SIZENO         = proItem.SIZENO,
                            SIZETBLNO      = proItem.SIZETBLNO,
                            SUPPLYCYCLENO  = proItem.SUPPLYCYCLENO,
                            DISCGROUP      = proItem.DISCGROUP,
                            WEBID          = proItem.WEBID,
                            PAYMENTTERM    = proItem.PAYMENTTERM,
                            LASTCHANGE     = proItem.LASTCHANGE,
                            CREATED        = proItem.CREATED,
                            IsBestSeller   = proItem.IsBestSeller,
                            CodeLanguage   = itemLang.language.ToLower(),
                            IdCurrentItem  = proItem.IdCurrentItem,
                        };

                        db.items.Add(tblItem);
                        var tblLink = db.artlinks.FirstOrDefault(x => x.ARTNO == proItem.ARTNO);
                        if (tblLink != null)
                        {
                            var tblPic = new artlink
                            {
                                ARTNO      = tblItem.ARTNO,
                                LASTCHANGE = DateTime.Now,
                                CREATED    = DateTime.Now,
                                LINK       = tblLink.LINK
                            };
                            db.artlinks.Add(tblPic);
                        }
                    }
                }
            }
            db.SaveChanges();

            var listCode = list.Select(y => y.language.ToLower()).ToList();
            var item     = db.items.ToList().Where(x => x.IdCurrentItem == id && listCode.Contains(x.CodeLanguage)).ToList();

            return(View(new AllModel {
                listProduct = item, tblitem = proItem
            }));
        }
        public ActionResult Create(AllModel model, HttpPostedFileBase[] inputfile)
        {
            try
            {
                if (model.tblProductArray != null)
                {
                    var artCode = Guid.NewGuid().ToString().Substring(0, 8).ToUpper();
                    var itemF   = new item();
                    itemF.ARTTYPE = 1;

                    itemF.CREATED          = DateTime.Now;
                    itemF.LASTCHANGE       = DateTime.Now;
                    itemF.ARTCODE          = artCode;
                    itemF.ARTNAME          = model.tblProductArray[0].ARTNAME;
                    itemF.INFO             = model.tblProductArray[0].INFO;
                    itemF.CodeLanguage     = model.tblProductArray[0].CodeLanguage.ToLower();
                    itemF.GROUPNO          = model.tblitem.GROUPNO;
                    itemF.IsBestSeller     = model.tblitem.IsBestSeller;
                    itemF.EXPORTABLE       = model.tblitem.EXPORTABLE;
                    itemF.SPECIALOFFER     = model.tblitem.SPECIALOFFER;
                    itemF.STOCKITEM        = model.tblitem.STOCKITEM;
                    itemF.AUTHORIZABLE     = model.tblitem.AUTHORIZABLE;
                    itemF.RESTRICTED       = model.tblitem.RESTRICTED;
                    itemF.NOTPOST          = model.tblitem.NOTPOST;
                    itemF.NOTADDPOSTAGEFEE = model.tblitem.NOTADDPOSTAGEFEE;
                    itemF.WIDTH            = model.tblitem.WIDTH;
                    itemF.WEIGHT           = model.tblitem.WEIGHT;
                    itemF.LEN      = model.tblitem.LEN;
                    itemF.HEIGHT   = model.tblitem.HEIGHT;
                    itemF.WEBPRICE = model.tblitem.WEBPRICE;
                    db.items.Add(itemF);
                    db.SaveChanges();
                    var updateItem = db.items.Find(itemF.ARTNO);
                    updateItem.IdCurrentItem   = itemF.ARTNO;
                    db.Entry(updateItem).State = EntityState.Modified;
                    db.SaveChanges();
                    foreach (var item in model.tblProductArray.Skip(1).ToList())
                    {
                        var tblItem = new item();
                        tblItem.ARTTYPE = 1;

                        tblItem.CREATED          = DateTime.Now;
                        tblItem.LASTCHANGE       = DateTime.Now;
                        tblItem.ARTCODE          = itemF.ARTCODE;
                        tblItem.ARTNAME          = item.ARTNAME;
                        tblItem.INFO             = item.INFO;
                        tblItem.CodeLanguage     = item.CodeLanguage.ToLower();
                        tblItem.GROUPNO          = model.tblitem.GROUPNO;
                        tblItem.IsBestSeller     = model.tblitem.IsBestSeller;
                        tblItem.EXPORTABLE       = model.tblitem.EXPORTABLE;
                        tblItem.SPECIALOFFER     = model.tblitem.SPECIALOFFER;
                        tblItem.STOCKITEM        = model.tblitem.STOCKITEM;
                        tblItem.AUTHORIZABLE     = model.tblitem.AUTHORIZABLE;
                        tblItem.RESTRICTED       = model.tblitem.RESTRICTED;
                        tblItem.NOTPOST          = model.tblitem.NOTPOST;
                        tblItem.NOTADDPOSTAGEFEE = model.tblitem.NOTADDPOSTAGEFEE;
                        tblItem.WIDTH            = model.tblitem.WIDTH;
                        tblItem.WEIGHT           = model.tblitem.WEIGHT;
                        tblItem.LEN           = model.tblitem.LEN;
                        tblItem.HEIGHT        = model.tblitem.HEIGHT;
                        tblItem.IdCurrentItem = itemF.IdCurrentItem;
                        tblItem.WEBPRICE      = model.tblitem.WEBPRICE;
                        db.items.Add(tblItem);
                    }
                    db.SaveChanges();
                    if (inputfile != null)
                    {
                        for (int i = 0; i < inputfile.Length; i++)
                        {
                            if (inputfile[i] != null)
                            {
                                string path = "";
                                path = Path.Combine(Server.MapPath("/Content/ProductImage"), Path.GetFileName(inputfile[i].FileName));

                                inputfile[i].SaveAs(path);
                                var i1 = itemF.IdCurrentItem > 0 ? itemF.IdCurrentItem:0;
                                if (i1 != null)
                                {
                                    var tblPic = new artlink
                                    {
                                        ARTNO      = (int)i1,
                                        LASTCHANGE = DateTime.Now,
                                        CREATED    = DateTime.Now,
                                        LINK       = inputfile[i].FileName
                                    };
                                    db.artlinks.Add(tblPic);
                                }
                                db.SaveChanges();
                            }
                        }
                    }
                }
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                      eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                          ve.PropertyName, ve.ErrorMessage);
                    }
                }
            }
            return(RedirectToAction("Index"));
        }
        public ActionResult Create(item item, HttpPostedFileBase[] inputfile)
        {
            var category = db.categories.ToList();

            category.Insert(0, new category {
                CATEGORYNO = 0, CATEGORYNAME = "Select Category"
            });
            ViewBag.CategoryList = category;

            ViewBag.WarhouseList = db.warehouses.ToList();
            ViewBag.stockList    = db.stockcods.ToList();
            ViewBag.StoreList    = db.stores.ToList();
            var metagroup = db.metagrups.ToList();

            metagroup.Insert(0, new metagrup {
                METAGROUPNO = 0, METAGROUPNAME = "Select Meta Group"
            });
            ViewBag.MetaGroupList = metagroup;
            try
            {
                item.ARTTYPE    = 1;
                item.EXPORTABLE = "";
                item.ARTCODE    = string.IsNullOrEmpty(item.ARTCODE)? Guid.NewGuid().ToString().Substring(0, 6).ToUpper(): item.ARTCODE;
                item.CREATED    = DateTime.Now;
                item.LASTCHANGE = DateTime.Now;



                db.items.Add(item);
                db.SaveChanges();
                for (int i = 0; i < inputfile.Length; i++)
                {
                    if (inputfile[i] != null)
                    {
                        string path = "";
                        path = Path.Combine(Server.MapPath("/Content/ProductImage"), Path.GetFileName(inputfile[i].FileName));
                        var picId = db.artlinks.OrderByDescending(x => x.LINENO).FirstOrDefault();
                        inputfile[i].SaveAs(path);
                        var tblPic = new artlink
                        {
                            LINENO     = picId.LINENO + 1,
                            ARTNO      = item.ARTNO,
                            LASTCHANGE = DateTime.Now,
                            CREATED    = DateTime.Now,
                            LINK       = path
                        };
                        db.artlinks.Add(tblPic);
                        db.SaveChanges();
                    }
                }
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                      eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                          ve.PropertyName, ve.ErrorMessage);
                    }
                }
            }
            return(RedirectToAction("Index"));
        }