Ejemplo n.º 1
0
 public void ItemGroupViewModel_CreateItemGroupCommand_ValidNameAndNoParent_ItemGroupIsCreated()
 {
     _iut = new ItemGroupViewModel(_db, _mb);
     _iut.ItemGroupName = "Step7NewItemGroup";
     _iut.CreateItemGroupCommand.Execute(null);
     Assert.That(_db.TableItemGroup.SearchItemGroups("Step7NewItemGroup").Count, Is.EqualTo(1));
 }
 public EditItemGroupDialog(ItemGroupViewModel view)
 {
     InitializeComponent();
     ViewModel   = view;
     DataContext = ViewModel;
     ViewModel.UpdateItemGroupName();
 }
        public JsonResult GETJSON()
        {
            var model = new ItemGroupViewModel(HttpContext);

            model.ItemGroups = dbContext.ItemGroups.ToList();
            return(Json(model));
        }
        public IActionResult Index()
        {
            var model = new ItemGroupViewModel(HttpContext);

            model.ItemGroups = dbContext.ItemGroups.ToList();
            return(View("Index", model));
        }
 public AddItemGroupDialog(ItemGroupViewModel view)
 {
     InitializeComponent();
     DataContext        = view;
     view.ComboBoxIndex = -1;
     ItemGroupComboBox.DisplayMemberPath = "ItemGroupName";
 }
Ejemplo n.º 6
0
        public ActionResult UpdateItem(ItemGroupViewModel IGViewModel, string value)
        {
            UserSession user = (UserSession)Session["User"];
            bool        result;
            string      PageAction = "Update";

            if (IGViewModel.ItemName == null || IGViewModel.ItemName.Equals("") || value != null)
            {
                PageAction = "Delete item";
                result     = ItemGroupManager.DeleteItem(int.Parse(value));
            }
            else
            {
                PageAction = "Add item";
                result     = ItemGroupManager.UpdateGroup(IGViewModel);
            }
            if (result)
            {
                TempData["SuccessMessage"] = PageAction + " successful";
                new AuditLogManager().Audit(user.Username, DateTime.Now, "Raw Item Group", PageAction, IGViewModel.GroupId.ToString(), IGViewModel.GroupName);
            }
            else
            {
                TempData["ErrorMessage"] = PageAction + " failed";
            }
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 7
0
        public void ItemGroupViewModel_DeleteItemGroupCommand_InvalidItemGroupSelected_ItemGroupIsNotDeleted()
        {
            _db.TableItemGroup.CreateItemGroup("Step7DeleteThisItemGroup");
            _iut = new ItemGroupViewModel(_db, _mb);

            _iut.DeleteItemGroupCommand.Execute(null);
            Assert.That(_db.TableItemGroup.SearchItemGroups("Step7DeleteThisItemGroup").Count, Is.EqualTo(1));
        }
Ejemplo n.º 8
0
        public void ItemGroupViewModel_CreateItemGroupCommand_InvalidNameGiven_NoItemGroupCreated()
        {
            _iut = new ItemGroupViewModel(_db, _mb)
            {
                ItemGroupName = "!Step7!"
            };

            _iut.CreateItemGroupCommand.Execute(null);
            Assert.That(_db.TableItemGroup.SearchItemGroups("!Step7!").Count, Is.EqualTo(0));
        }
Ejemplo n.º 9
0
        public void ItemGroupViewModel_SearchCommand_SearchInvalidItemGroup_ItemGroupNotFound()
        {
            _iut = new ItemGroupViewModel(_db, _mb);

            _iut.SearchString = "Step7SearchTest";

            _iut.SearchCommand.Execute(null);

            Assert.That(_iut.ListOfItemGroups.Count, Is.EqualTo(0));
        }
        public void SetUp()
        {
            _dbFactory = Substitute.For <IStoreDatabaseFactory>();
            _db        = Substitute.For <IDatabaseService>();
            _mb        = Substitute.For <IMessageBox>();
            List <ItemGroup> testList = new List <ItemGroup>();

            testList.Add(new ItemGroup("test", 0, 0));
            _db.TableItemGroup.SearchItemGroups(Arg.Any <string>())
            .Returns(testList);
            _uut = new ItemGroupViewModel(_db, _mb);
        }
Ejemplo n.º 11
0
        public void ItemGroupViewModel_DeleteItemGroupCommand_ValidItemGroupSelected_ItemGroupIsDeleted()
        {
            _db.TableItemGroup.CreateItemGroup("Step7DeleteThisItemGroup");
            _iut = new ItemGroupViewModel(_db, _mb);

            List <ItemGroup> temp = _iut.ListOfItemGroups.ToList();

            _iut.ListOfItemGroups.CurrentIndex = temp.FindIndex(x => x.ItemGroupName == "Step7DeleteThisItemGroup");

            _iut.DeleteItemGroupCommand.Execute(null);
            Assert.That(_db.TableItemGroup.SearchItemGroups("Step7DeleteThisItemGroup").Count, Is.EqualTo(0));
        }
Ejemplo n.º 12
0
        public void ItemGroupViewModel_SearchCommand_SearchValidItemGroup_ItemGroupFound()
        {
            _db.TableItemGroup.CreateItemGroup("Step7SearchTest");

            _iut = new ItemGroupViewModel(_db, _mb);

            _iut.SearchString = "Step7SearchTest";

            _iut.SearchCommand.Execute(null);

            Assert.That(_iut.ListOfItemGroups.Count, Is.EqualTo(1));
        }
Ejemplo n.º 13
0
        public void ItemGroupViewModel_EditItemGroupCommand_ItemIsEdited()
        {
            _db.TableItemGroup.CreateItemGroup("Step7IntegrationTest");
            _iut = new ItemGroupViewModel(_db, _mb);
            List <ItemGroup> temp = _iut.ListOfItemGroups.ToList();

            _iut.ListOfItemGroups.CurrentIndex = temp.FindIndex(x => x.ItemGroupName == "Step7IntegrationTest");
            _iut.ItemGroupName = "EditedStep7IntegrationTest";
            _iut.UpdateItemGroupName();
            _iut.EditItemGroupCommand.Execute(null);
            Assert.That(_db.TableItemGroup.SearchItemGroups("EditedStep7IntegrationTest").Count, Is.EqualTo(1));
        }
Ejemplo n.º 14
0
        public static List <ItemGroupViewModel> GetGroup(ItemGroupViewModel IGViewModel)
        {
            using (CFMMCDEntities db = new CFMMCDEntities())
            {
                List <ITMGRP>             IGRows;
                List <ItemGroupViewModel> IGList = IGViewModel.GroupList;
                //IGRows = db.ITMGRPs.Where(o => o.Group_Type == IGViewModel.GroupType).OrderBy(o => o.Group_Id).ToList();
                IGRows = db.ITMGRPs.OrderBy(o => o.Group_Id).ToList();
                int CurrentGroup = 0;

                ItemGroupViewModel vm = new ItemGroupViewModel();

                for (int i = 0; i < IGRows.Count(); i++)
                {
                    if (CurrentGroup != IGRows[i].Group_Id)
                    {
                        vm           = new ItemGroupViewModel();
                        vm.GroupId   = IGRows[i].Group_Id;
                        vm.GroupType = IGRows[i].Group_Type;
                        vm.GroupName = IGRows[i].Group_Name;
                        vm.Id        = IGRows[i].Id;
                    }
                    else
                    {
                        continue;
                    }

                    foreach (var v in IGRows.Where(o => o.Group_Id == IGRows[i].Group_Id))
                    {
                        Item item = new Item();
                        item.Name     = v.Item_Name;
                        item.ItemId   = v.Item_Code;
                        item.Id       = v.Id;
                        item.ItemType = v.Item_Type;

                        // If item is store
                        if (v.Item_Type == 3)
                        {
                            vm.StoreList.Add(item);
                        }
                        else
                        {
                            vm.ItemList.Add(item);
                        }
                    }
                    IGList.Add(vm);
                    CurrentGroup = IGRows[i].Group_Id;
                }
                return(IGList);
            }
        }
Ejemplo n.º 15
0
        public ActionResult CreateItemGroup(ItemGroupViewModel model)
        {
            List <string> errors = new List <string>();

            try
            {
                if (DuplicateItemGroup(model.Id, model.Name) != null)
                {
                    ModelState.AddModelError("Name", $"Item Group {model.Name} already exists.");
                }

                if (ModelState.IsValid)
                {
                    if (model.Id == 0)
                    {
                        var itemG = db.ItemGroupRepo.Table();
                        var order = itemG.Any() ? itemG.Max(x => x.DisplayOrder) : 0;
                        model.DisplayOrder = order + 1;
                        model.Id           = db.ItemGroupRepo.Create(AutomapperConfig.Mapper.Map <ItemGroup>(model));
                    }
                    else
                    {
                        var oldmodel = db.ItemGroupRepo.GetById(model.Id);
                        if (oldmodel == null)
                        {
                            Response.StatusCode = (int)HttpStatusCode.OK;
                            return(Json(new { redirecturl = "/error/badrequest" }));
                        }
                        oldmodel.Name       = model.Name;
                        oldmodel.Code       = model.Code;
                        oldmodel.ItemTypeId = model.ItemTypeId;
                    }
                    db.SaveChanges();
                    TempData["Success"] = "Item Group Successfully Saved";
                    return(RedirectToAction("itemgroup"));
                }
                foreach (var item in ModelState.Where(x => x.Value.Errors.Any()))
                {
                    errors.Add(item.Value.Errors.FirstOrDefault().ErrorMessage);
                }
            }
            catch (Exception ex)
            {
                errors.Add(ex.GetExceptionMessages());
            }
            Response.StatusCode = (int)HttpStatusCode.SeeOther;
            return(View(model));
        }
Ejemplo n.º 16
0
        public PartialViewResult CreateItemGroup(int id = 0)
        {
            var model = new ItemGroupViewModel();

            if (id > 0)
            {
                model = AutomapperConfig.Mapper.Map <ItemGroupViewModel>(db.ItemGroupRepo.GetById(id));
            }
            if (model == null)
            {
                Response.StatusCode = (int)HttpStatusCode.OK;
                return(PartialView(model));
            }

            return(PartialView(model));
        }
Ejemplo n.º 17
0
        public void ItemGroupViewModel_CreateItemGroupCommand_ValidNameAndParent_ItemGroupIsCreated()
        {
            //Setup itemgroups required for the test
            _db.TableItemGroup.CreateItemGroup("Step7TestParent");

            //Prepare the test
            _iut = new ItemGroupViewModel(_db, _mb);
            _iut.ItemGroupName = "Step7TestChild";
            List <ItemGroup> temp = _iut.ComboBoxOptions.ToList();

            _iut.ComboBoxIndex = temp.FindIndex(x => x.ItemGroupName == "Step7TestParent");

            //Execute test
            _iut.CreateItemGroupCommand.Execute(null);
            Assert.That(_db.TableItemGroup.SearchItemGroups("Step7TestChild").Count, Is.EqualTo(1));
        }
Ejemplo n.º 18
0
        public ItemGroupViewModel SaveItemGroup(ItemGroupViewModel model)
        {
            exceptionService.Execute((m) =>
            {
                if (itemGroupRepository.Table.Any(x => x.Name == model.Name && x.Id != model.Id))
                {
                    model.AddModelError(x => x.Name, "Error.DuplicateValue", "Item group name already exists.");
                }

                if (model.HasError)
                {
                    return;
                }

                if (!model.Validate())
                {
                    return;
                }

                var entity = new ItemGroup();

                if (model.Id > 0)
                {
                    entity              = itemGroupRepository.GetById(model.Id);
                    entity.Name         = model.Name;
                    entity.Code         = model.Code;
                    entity.ItemTypeId   = model.ItemTypeId;
                    entity.DisplayOrder = model.DisplayOrder;
                    itemGroupRepository.Update(entity);
                }
                else
                {
                    entity = AutomapperConfig.Mapper.Map <ItemGroup>(model);
                    itemGroupRepository.Insert(entity);
                }
                if (model.Id == 0)
                {
                    model.Message = localizationService.GetLocalizedText("Message.EmployeeSavedSuccessfully", IMSAppConfig.Instance.CurrentLanguage, "Employee saved succeeded.");
                }
                else
                {
                    model.Message = localizationService.GetLocalizedText("Message.EmployeeUpdatedSuccessfully", IMSAppConfig.Instance.CurrentLanguage, "Employee update succeeded.");
                }
            }, model);

            return(model);
        }
Ejemplo n.º 19
0
        public ActionResult AddNewGroup(ItemGroupViewModel IGViewModel)
        {
            UserSession user = (UserSession)Session["User"];
            bool        result;
            string      PageAction = "Add group";

            result = ItemGroupManager.UpdateGroup(IGViewModel);
            if (result)
            {
                TempData["SuccessMessage"] = PageAction + " successful";
                new AuditLogManager().Audit(user.Username, DateTime.Now, "Raw Item Group", PageAction, IGViewModel.GroupId.ToString(), IGViewModel.GroupName);
            }
            else
            {
                TempData["ErrorMessage"] = PageAction + " failed";
            }
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 20
0
        public ActionResult Index()
        {
            // Validate log in and user access
            UserAccessSession UASession = (UserAccessSession)Session["UserAccess"];

            if (UASession == null || !UASession.GRP)
            {
                return(RedirectToAction("Login", "Account"));
            }
            // Set NavBar Links accordingly
            Session["CurrentPage"] = new CurrentPageSession("GRP_RIM", "HOME", "LOG");


            ItemGroupViewModel IGViewModel = new ItemGroupViewModel();

            IGViewModel.GroupType    = 2;
            IGViewModel.RawItemList  = ItemGroupManager.GetFilteredRawItem();
            IGViewModel.AllStoreList = ItemGroupManager.GetFilteredStore();
            IGViewModel.GroupList    = ItemGroupManager.GetGroup(IGViewModel);
            return(View(IGViewModel));
        }
        public async Task <int> SaveItemGroup(ItemGroupViewModel itemGroupViewModel)
        {
            var itemGroup = Mapper.Map <ItemGroup>(itemGroupViewModel);

            return(await _itemGroupRepository.SaveItemGroup(itemGroup));
        }
Ejemplo n.º 22
0
        public static bool UpdateMenuItem(MenuRecipeViewModel MRViewModel, string user)
        {
            using (CFMMCDEntities db = new CFMMCDEntities())
            {
                if (MRViewModel.RIRMIC == null || MRViewModel.RIRMIC.Equals(""))
                {
                    return(false);
                }
                // Existing row
                foreach (var v in MRViewModel.MenuRecipeList)
                {
                    if (!v.PreviousRIRRIC.Equals(v.RIRRIC))
                    {
                        INVRIRP0 MRRowToDelete = db.INVRIRP0.Single(o => o.RIRRID.Equals(v.RIRRID));
                        db.INVRIRP0.Remove(MRRowToDelete);
                        db.SaveChanges();
                    }
                    if (!db.INVRIMP0.Where(o => o.RIMRIC.ToString().Equals(v.RIRRIC)).Any())
                    {
                        continue;
                    }
                    INVRIRP0 MRRow;
                    if (db.INVRIRP0.Where(o => o.RIRRID.Equals(MRViewModel.RIRMIC + v.RIRRIC)).Any())
                    {
                        MRRow = db.INVRIRP0.Single(o => o.RIRRID.Equals(MRViewModel.RIRMIC + v.RIRRIC));
                    }
                    else
                    {
                        MRRow = new INVRIRP0();
                    }

                    MRRow.RIRRID   = MRViewModel.RIRMIC + v.RIRRIC;
                    MRRow.RIRMIC   = int.Parse(MRViewModel.RIRMIC);
                    MRRow.RIRRIC   = int.Parse(v.RIRRIC);
                    MRRow.RIRVPC   = 0;
                    MRRow.LongName = MRViewModel.MIMLON;
                    if (v.RIRSFQ != null && !v.RIRSFQ.Equals(""))
                    {
                        MRRow.RIRSFQ = double.Parse(v.RIRSFQ);
                    }
                    MRRow.RIRCWC = v.RIRCWC;
                    MRRow.RIRSTA = "0";
                    MRRow.RIRVST = "";
                    MRRow.RIRUSR = user.Substring(0, 3).ToUpper();
                    MRRow.RIRDAT = DateTime.Now;
                    MRRow.RIRFLG = false;
                    // Group
                    var IGRowLookup = db.ITMGRPs.Where(o => o.Item_Code.ToString().Equals(MRViewModel.RIRMIC));
                    IGRowLookup = IGRowLookup.Where(o => o.Item_Type == 4);
                    if (IGRowLookup.Any())
                    {
                        if (MRViewModel.Group == 0)
                        {
                            int val = IGRowLookup.FirstOrDefault().Id;
                            ItemGroupManager.DeleteItem(val);
                        }
                        else
                        {
                            IGRowLookup.FirstOrDefault().Item_Code  = int.Parse(MRViewModel.RIRMIC);
                            IGRowLookup.FirstOrDefault().Item_Name  = MRViewModel.MIMDSC;
                            IGRowLookup.FirstOrDefault().Group_Id   = MRViewModel.Group;
                            IGRowLookup.FirstOrDefault().Group_Name = db.ITMGRPs.FirstOrDefault(o => o.Group_Id == MRViewModel.Group).Group_Name;
                        }
                    }
                    else
                    {
                        if (MRViewModel.Group != 0)
                        {
                            ItemGroupViewModel IGRow = new ItemGroupViewModel();
                            IGRow.GroupName = db.ITMGRPs.FirstOrDefault(o => o.Group_Id == MRViewModel.Group).Group_Name;
                            IGRow.GroupId   = MRViewModel.Group;
                            IGRow.ItemCode  = int.Parse(MRViewModel.RIRMIC);
                            IGRow.ItemName  = MRViewModel.MIMDSC;
                            IGRow.ItemType  = 4;
                            IGRow.GroupType = 4;
                            ItemGroupManager.UpdateGroup(IGRow);
                        }
                    }
                    MRRow.Group = MRViewModel.Group;
                    try
                    {
                        if (db.INVRIRP0.Where(o => o.RIRRID == MRRow.RIRRID).Any())
                        {
                            MRRow.STATUS = "E";
                        }
                        else
                        {
                            MRRow.STATUS = "A";
                            db.INVRIRP0.Add(MRRow);
                        }
                        db.SaveChanges();
                    }
                    catch (Exception e)
                    {
                        System.Diagnostics.Debug.WriteLine(e.Source);
                        System.Diagnostics.Debug.WriteLine(e.Message);
                        System.Diagnostics.Debug.WriteLine(e.StackTrace);
                        System.Diagnostics.Debug.WriteLine(e.InnerException);
                        Exception f = e.InnerException;
                        while (f != null)
                        {
                            System.Diagnostics.Debug.WriteLine("INNER:");
                            System.Diagnostics.Debug.WriteLine(f.Message);
                            System.Diagnostics.Debug.WriteLine(f.Source);
                            f = f.InnerException;
                        }
                        System.Diagnostics.Debug.WriteLine(e.Data);
                        return(false);
                    }
                }
                // New created row
                for (int i = 0; i < MRViewModel.RIMRID.Count(); i++)
                {
                    if (MRViewModel.RIRRIC[i] == null || MRViewModel.RIRRIC[i].Equals(""))
                    {
                        continue;
                    }
                    INVRIRP0 MRRow = new INVRIRP0();
                    MRRow.RIRRID   = MRViewModel.RIRMIC + MRViewModel.RIRRIC[i];
                    MRRow.RIRMIC   = int.Parse(MRViewModel.RIRMIC);
                    MRRow.RIRRIC   = int.Parse(MRViewModel.RIRRIC[i]);
                    MRRow.RIRVPC   = 0;
                    MRRow.LongName = MRViewModel.MIMLON;
                    if (MRViewModel.RIRSFQ[i] != null && !MRViewModel.RIRSFQ[i].Equals(""))
                    {
                        MRRow.RIRSFQ = double.Parse(MRViewModel.RIRSFQ[i]);
                    }
                    MRRow.RIRCWC = MRViewModel.RIRCWC[i];
                    MRRow.RIRSTA = "0";
                    MRRow.RIRVST = "";
                    MRRow.RIRUSR = user.Substring(0, 3).ToUpper();
                    MRRow.RIRDAT = DateTime.Now;
                    MRRow.RIRFLG = false;
                    // Group
                    var IGRowLookup = db.ITMGRPs.Where(o => o.Item_Code.ToString().Equals(MRViewModel.RIRMIC));
                    IGRowLookup = IGRowLookup.Where(o => o.Item_Type == 4);
                    if (IGRowLookup.Any())
                    {
                        if (MRViewModel.Group == 0)
                        {
                            int val = IGRowLookup.FirstOrDefault().Id;
                            ItemGroupManager.DeleteItem(val);
                        }
                        else
                        {
                            IGRowLookup.FirstOrDefault().Item_Code  = int.Parse(MRViewModel.RIRMIC);
                            IGRowLookup.FirstOrDefault().Item_Name  = MRViewModel.MIMDSC;
                            IGRowLookup.FirstOrDefault().Group_Id   = MRViewModel.Group;
                            IGRowLookup.FirstOrDefault().Group_Name = db.ITMGRPs.FirstOrDefault(o => o.Group_Id == MRViewModel.Group).Group_Name;
                        }
                    }
                    else
                    {
                        if (MRViewModel.Group != 0)
                        {
                            ItemGroupViewModel IGRow = new ItemGroupViewModel();
                            IGRow.GroupName = db.ITMGRPs.FirstOrDefault(o => o.Group_Id == MRViewModel.Group).Group_Name;
                            IGRow.GroupId   = MRViewModel.Group;
                            IGRow.ItemCode  = int.Parse(MRViewModel.RIRMIC);
                            IGRow.ItemName  = MRViewModel.MIMDSC;
                            IGRow.ItemType  = 4;
                            IGRow.GroupType = 4;
                            ItemGroupManager.UpdateGroup(IGRow);
                        }
                    }
                    MRRow.Group = MRViewModel.Group;
                    try
                    {
                        if (db.INVRIRP0.Where(o => o.RIRRID == MRRow.RIRRID).Any())
                        {
                            INVRIRP0 rowToDelete = db.INVRIRP0.Single(o => o.RIRRID == MRRow.RIRRID);
                            db.INVRIRP0.Remove(rowToDelete);
                            MRRow.STATUS = "E";
                            db.INVRIRP0.Add(MRRow);
                        }
                        else
                        {
                            MRRow.STATUS = "A";
                            db.INVRIRP0.Add(MRRow);
                        }
                        db.SaveChanges();
                    }
                    catch (Exception e)
                    {
                        System.Diagnostics.Debug.WriteLine(e.Source);
                        System.Diagnostics.Debug.WriteLine(e.Message);
                        System.Diagnostics.Debug.WriteLine(e.StackTrace);
                        System.Diagnostics.Debug.WriteLine(e.InnerException);
                        Exception f = e.InnerException;
                        while (f != null)
                        {
                            System.Diagnostics.Debug.WriteLine("INNER:");
                            System.Diagnostics.Debug.WriteLine(f.Message);
                            System.Diagnostics.Debug.WriteLine(f.Source);
                            f = f.InnerException;
                        }
                        System.Diagnostics.Debug.WriteLine(e.Data);
                        return(false);
                    }
                }
                List <INVRIRP0> MRRowList = db.INVRIRP0.Where(o => o.RIRMIC.ToString().Equals(MRViewModel.RIRMIC)).ToList();
                if (MRRowList.Count() == 0)
                {
                    var RIRRow = db.ITMGRPs.Where(o => o.Item_Code.ToString().Equals(MRViewModel.RIRMIC));
                    RIRRow = RIRRow.Where(o => o.Item_Type == 4);
                    if (RIRRow.Any())
                    {
                        db.ITMGRPs.RemoveRange(RIRRow);
                        db.SaveChanges();
                    }
                }
                return(true);
            }
        }
Ejemplo n.º 23
0
        public static bool UpdateGroup(ItemGroupViewModel IGViewModel)
        {
            using (CFMMCDEntities db = new CFMMCDEntities())
            {
                // Update
                if (IGViewModel.GroupName == null || IGViewModel.GroupName.Equals("") || IGViewModel.GroupType == 0)
                {
                    return(false);
                }

                var IGRowLookup = db.ITMGRPs.Where(o => o.Item_Code == IGViewModel.ItemCode);
                IGRowLookup = IGRowLookup.Where(o => o.Item_Type == IGViewModel.ItemType);
                if (IGRowLookup.Any())
                {
                    return(false);
                }

                ITMGRP IGRow = new ITMGRP();
                IGRow.Id = new Random().Next(1, 999999999);
                // Get new Id if it exist
                for (int i = 0; (i < 10 && db.ITMGRPs.Where(o => o.Id == IGRow.Id).Any()); i++)
                {
                    IGRow.Id = new Random().Next(1, 999999999);
                }
                // If Group is already created
                if (db.ITMGRPs.Where(o => o.Group_Name.Equals(IGViewModel.GroupName)).Any())
                {
                    IGRow.Group_Id   = IGViewModel.GroupId;
                    IGRow.Group_Name = IGViewModel.GroupName;
                    IGRow.Item_Code  = IGViewModel.ItemCode;
                    IGRow.Item_Name  = IGViewModel.ItemName;
                    IGRow.Item_Type  = IGViewModel.ItemType;
                    IGRow.Group_Type = IGViewModel.GroupType;
                    // Add Group to Item table
                    if (IGRow.Item_Type == 1 && db.CSHMIMP0.Where(o => o.MIMMIC == IGViewModel.ItemCode).Any())
                    {
                        db.CSHMIMP0.Single(o => o.MIMMIC == IGViewModel.ItemCode).Group = IGViewModel.GroupId;
                    }
                    else if (IGRow.Item_Type == 2 && db.INVRIMP0.Where(o => o.RIMRIC == IGViewModel.ItemCode).Any())
                    {
                        db.INVRIMP0.Single(o => o.RIMRIC == IGViewModel.ItemCode).Group = IGViewModel.GroupId;
                    }
                    else if (IGRow.Item_Type == 3 && db.Store_Profile.Where(o => o.STORE_NO == IGViewModel.ItemCode).Any())
                    {
                        db.Store_Profile.Single(o => o.STORE_NO == IGViewModel.ItemCode).Group = IGViewModel.GroupId;
                    }
                    else if (IGRow.Item_Type == 4 && db.INVRIRP0.Where(o => o.RIRMIC == IGViewModel.ItemCode).Any())
                    {
                        foreach (var v in db.INVRIRP0.Where(o => o.RIRMIC == IGViewModel.ItemCode))
                        {
                            v.Group = IGViewModel.GroupId;
                        }
                    }
                }
                else
                {
                    IGRow.Group_Id = new Random().Next(1, 999999);
                    // Get new Group_Id if it exist
                    for (int i = 0; (i < 10 && db.ITMGRPs.Where(o => o.Group_Id == IGRow.Group_Id).Any()); i++)
                    {
                        IGRow.Group_Id = new Random().Next(1, 999999);
                    }
                    IGRow.Group_Name = IGViewModel.GroupName;
                    IGRow.Item_Code  = 0;
                    IGRow.Item_Name  = "";
                    IGRow.Item_Type  = IGViewModel.ItemType;
                    IGRow.Group_Type = IGViewModel.GroupType;
                }
                db.ITMGRPs.Add(IGRow);

                // Save DB
                try
                {
                    db.SaveChanges();
                }
                catch (Exception e)
                {
                    System.Diagnostics.Debug.WriteLine(e.Source);
                    System.Diagnostics.Debug.WriteLine(e.Message);
                    System.Diagnostics.Debug.WriteLine(e.StackTrace);
                    System.Diagnostics.Debug.WriteLine(e.InnerException);
                    Exception f = e.InnerException;
                    while (f != null)
                    {
                        System.Diagnostics.Debug.WriteLine("INNER:");
                        System.Diagnostics.Debug.WriteLine(f.Message);
                        System.Diagnostics.Debug.WriteLine(f.Source);
                        f = f.InnerException;
                    }
                    System.Diagnostics.Debug.WriteLine(e.Data);
                    return(false);
                }
                return(true);
            }
        }
Ejemplo n.º 24
0
        /*
         * Combined Create and Update Store profile method.
         * Creates a Store_Profile instance (which will be a new table row)
         * and instantiates each SPViewModel property to the respective property of the former.
         * Also checks if the given Store profile number is already in the table,
         * if true, the method performs an update, otherwise, creation.
         *
         * Returns true if the operation is successful.
         * */
        public bool UpdateStore(StoreProfileViewModel SPViewModel)
        {
            using (CFMMCDEntities db = new CFMMCDEntities())
            {
                Store_Profile SPRow;
                bool          isUpdating = false;
                if (db.Store_Profile.Where(o => o.STORE_NO.ToString().Equals(SPViewModel.STORE_NO)).Any())
                {
                    SPRow      = db.Store_Profile.Single(o => o.STORE_NO.ToString().Equals(SPViewModel.STORE_NO));
                    isUpdating = true;
                }
                else
                {
                    SPRow = new Store_Profile();
                }

                if (SPViewModel.STORE_NO != null && !SPViewModel.STORE_NO.Equals(""))
                {
                    SPRow.STORE_NO = int.Parse(SPViewModel.STORE_NO);
                }
                else
                {
                    return(false);
                }

                if (SPViewModel.STORE_NAME != null && !SPViewModel.STORE_NAME.Equals(""))
                {
                    SPRow.STORE_NAME = SPViewModel.STORE_NAME;
                }
                else
                {
                    return(false);
                }

                if (SPViewModel.OWNERSHIP != null)
                {
                    SPRow.OWNERSHIP = int.Parse(SPViewModel.OWNERSHIP);
                }
                if (SPViewModel.BREAKFAST_PRICE_TIER != null)
                {
                    SPRow.BREAKFAST_PRICE_TIER = int.Parse(SPViewModel.BREAKFAST_PRICE_TIER);
                }
                if (SPViewModel.REGULAR_PRICE_TIER != null)
                {
                    SPRow.REGULAR_PRICE_TIER = int.Parse(SPViewModel.REGULAR_PRICE_TIER);
                }
                if (SPViewModel.DC_PRICE_TIER != null)
                {
                    SPRow.DC_PRICE_TIER = int.Parse(SPViewModel.DC_PRICE_TIER);
                }
                if (SPViewModel.MDS_PRICE_TIER != null)
                {
                    SPRow.MDS_PRICE_TIER = int.Parse(SPViewModel.MDS_PRICE_TIER);
                }
                if (SPViewModel.MCCAFE_LEVEL_2_PRICE_TIER != null)
                {
                    SPRow.MCCAFE_LEVEL_2_PRICE_TIER = int.Parse(SPViewModel.MCCAFE_LEVEL_2_PRICE_TIER);
                }
                if (SPViewModel.MCCAFE_LEVEL_3_PRICE_TIER != null)
                {
                    SPRow.MCCAFE_LEVEL_3_PRICE_TIER = int.Parse(SPViewModel.MCCAFE_LEVEL_3_PRICE_TIER);
                }
                if (SPViewModel.MCCAFE_BISTRO_PRICE_TIER != null)
                {
                    SPRow.MCCAFE_BISTRO_PRICE_TIER = int.Parse(SPViewModel.MCCAFE_BISTRO_PRICE_TIER);
                }
                if (SPViewModel.PROJECT_GOLD_PRICE_TIER != null)
                {
                    SPRow.PROJECT_GOLD_PRICE_TIER = int.Parse(SPViewModel.PROJECT_GOLD_PRICE_TIER);
                }
                if (SPViewModel.BusinessExtList != null)
                {
                    SPRow.BET = SetBusinessExtention(SPViewModel.BET, SPViewModel.BusinessExtList);
                }
                if (SPViewModel.PROFIT_CENTER != null)
                {
                    SPRow.PROFIT_CENTER = int.Parse(SPViewModel.PROFIT_CENTER);
                }
                if (SPViewModel.REGION != null)
                {
                    SPRow.REGION = SPViewModel.REGION;
                }
                if (SPViewModel.PROVINCE != null)
                {
                    SPRow.PROVINCE = SPViewModel.PROVINCE;
                }
                if (SPViewModel.LOCATION != null && !SPViewModel.LOCATION.Equals(""))
                {
                    SPRow.LOCATION = int.Parse(SPViewModel.LOCATION);
                }
                if (SPViewModel.ADDRESS != null)
                {
                    SPRow.ADDRESS = SPViewModel.ADDRESS;
                }
                if (SPViewModel.CITY != null)
                {
                    SPRow.CITY = SPViewModel.CITY;
                }
                if (SPViewModel.FRESH_OR_FROZEN != null)
                {
                    SPRow.FRESH_OR_FROZEN = SPViewModel.FRESH_OR_FROZEN;
                }
                if (SPViewModel.PAPER_OR_PLASTIC != null)
                {
                    SPRow.PAPER_OR_PLASTIC = SPViewModel.PAPER_OR_PLASTIC;
                }
                if (SPViewModel.SOFT_SERVE_OR_VANILLA_POWDER_MIX != null)
                {
                    SPRow.SOFT_SERVE_OR_VANILLA_POWDER_MIX = SPViewModel.SOFT_SERVE_OR_VANILLA_POWDER_MIX;
                }
                if (SPViewModel.SIMPLOT_OR_MCCAIN != null)
                {
                    SPRow.SIMPLOT_OR_MCCAIN = SPViewModel.SIMPLOT_OR_MCCAIN;
                }
                if (SPViewModel.MCCORMICK_OR_GSF != null)
                {
                    SPRow.MCCORMICK_OR_GSF = SPViewModel.MCCORMICK_OR_GSF;
                }
                if (SPViewModel.FRESHB_OR_FROZENB != null)
                {
                    SPRow.FRESHB_OR_FROZENB = SPViewModel.FRESHB_OR_FROZENB;
                }
                SPRow.STATUS = "A";
                // Group
                if (db.ITMGRPs.Where(o => o.Item_Code.ToString().Equals(SPViewModel.STORE_NO)).Any())
                {
                    if (SPViewModel.Group == 0)
                    {
                        int val = db.ITMGRPs.FirstOrDefault(o => o.Item_Code.ToString().Equals(SPViewModel.STORE_NO)).Id;
                        ItemGroupManager.DeleteItem(val);
                    }
                    else
                    {
                        db.ITMGRPs.Single(o => o.Item_Code.ToString().Equals(SPViewModel.STORE_NO)).Item_Code  = int.Parse(SPViewModel.STORE_NO);
                        db.ITMGRPs.Single(o => o.Item_Code.ToString().Equals(SPViewModel.STORE_NO)).Item_Name  = SPViewModel.STORE_NAME;
                        db.ITMGRPs.Single(o => o.Item_Code.ToString().Equals(SPViewModel.STORE_NO)).Group_Id   = SPViewModel.Group;
                        db.ITMGRPs.Single(o => o.Item_Code.ToString().Equals(SPViewModel.STORE_NO)).Group_Name = db.ITMGRPs.FirstOrDefault(o => o.Group_Id == SPViewModel.Group).Group_Name;
                    }
                }
                else
                {
                    if (SPViewModel.Group != 0)
                    {
                        ItemGroupViewModel IGRow = new ItemGroupViewModel();
                        IGRow.GroupName = db.ITMGRPs.FirstOrDefault(o => o.Group_Id == SPViewModel.Group).Group_Name;
                        IGRow.GroupId   = SPViewModel.Group;
                        IGRow.ItemCode  = int.Parse(SPViewModel.STORE_NO);
                        IGRow.ItemName  = SPViewModel.STORE_NAME;
                        IGRow.ItemType  = 3;
                        IGRow.GroupType = 3;
                        ItemGroupManager.UpdateGroup(IGRow);
                    }
                }
                SPRow.Group = SPViewModel.Group;
                try
                {
                    // Check if STORE_NO already exists in the database, perform an update if true
                    if (isUpdating)
                    {
                        SPRow.STATUS = "E";
                    }
                    else
                    {
                        db.Store_Profile.Add(SPRow);
                    }
                    db.SaveChanges();
                    return(true);
                }
                catch (Exception e)
                {
                    System.Diagnostics.Debug.WriteLine(e.Source);
                    System.Diagnostics.Debug.WriteLine(e.Message);
                    System.Diagnostics.Debug.WriteLine(e.StackTrace);
                    System.Diagnostics.Debug.WriteLine(e.InnerException);
                    Exception f = e.InnerException;
                    while (f != null)
                    {
                        System.Diagnostics.Debug.WriteLine("INNER:");
                        System.Diagnostics.Debug.WriteLine(f.Message);
                        System.Diagnostics.Debug.WriteLine(f.Source);
                        f = f.InnerException;
                    }
                    System.Diagnostics.Debug.WriteLine(e.Data);
                    return(false);
                }
            }
        }