public long Save(TopContractsDAL10.DasboardTables.SaveSearch search, bool overwrite, long searchID)
        {
            TopContractsV01Entities context = new TopContractsV01Entities(Utilities.getTestEnvName());
            TopContractsEntities.SaveSearch efSearch = null;
            if (searchID == 0)
            {
                efSearch = new TopContractsEntities.SaveSearch();
            }
            else
            {
                efSearch = context.SaveSearches.Where(c => c.SearchId == searchID).SingleOrDefault();
            }

            efSearch.SearchQuery = search.SearchQuery;
            efSearch.OrganizationIdentifier = this.organizationIdentifier;
            efSearch.Name = search.Name;
            efSearch.Description = search.Description;
            efSearch.DisplayOrder = search.DisplayOrder;
            efSearch.UpdateDate = DateTime.Now;
            efSearch.UpdateUserID = search.UpdateUserId;
            //efSearch.Inactive = true;
            efSearch.Inactive = false;
            if (!overwrite)
            {
                efSearch.UserId = search.UserId;
                efSearch.Shared = search.Shared;
                efSearch.DateCreated = search.CreatedDate;
            }

            //Added By Salil + Boaz
            //1-May-2013
            if (search.searchResultsContracts != null)
                if (search.searchResultsContracts.Entries != null)
                    if (search.searchResultsContracts.Entries.Count > 0)
                    {
                        foreach (TopContractsDAL10.DasboardTables.SearchResultsContract _searchResultsContracts in search.searchResultsContracts.Entries)
                        {
                            context.SearchResultsContracts.Add(new TopContractsEntities.SearchResultsContract() { SearchId = _searchResultsContracts.SearchId, ContractId = _searchResultsContracts.ContractId });
                        }
                    }
            if (!overwrite)
                context.SaveSearches.Add(efSearch);
            context.SaveChanges();
            return Convert.ToInt64(efSearch.SearchId);
        }
        /// <summary>
        /// This function will add the new dashboard
        /// </summary>
        /// <param action="objDashboardC"></param>
        /// <returns></returns>
        public int Save(TopContractsDAL10.DasboardTables.DashboardC objDashboardC)
        {
            int rtrnVal = 0;
            TopContractsV01Entities context = new TopContractsV01Entities(Utilities.getTestEnvName());

            Logger.WriteGeneralVerbose("DataHandler class - Save", "check for dashboard existance for userid {0}", objDashboardC.UserId);
            var dashBoardExist = context.Dashboards.FirstOrDefault(t => t.UserId == objDashboardC.UserId);
            if (dashBoardExist == null) //create new dashbaord over here
            {
                TopContractsEntities.Dashboard efDashBoard = new TopContractsEntities.Dashboard();

                efDashBoard.OrganizationIdentifier = this.organizationIdentifier;
                efDashBoard.Name = objDashboardC.Name;
                efDashBoard.Description = objDashboardC.Description;
                efDashBoard.UserId = objDashboardC.UserId;
                efDashBoard.DisplayOrder = objDashboardC.DisplayOrder;
                efDashBoard.UpdateDate = objDashboardC.UpdateDate;
                efDashBoard.UpdateUserID = objDashboardC.UpdateUserId;
                efDashBoard.Locked = objDashboardC.Locked;
                efDashBoard.Inactive = true;
                efDashBoard.ExternalID = objDashboardC.ExternalID;

                context.Dashboards.Add(efDashBoard);
                rtrnVal = context.SaveChanges();
                Logger.WriteGeneralVerbose("DataHandler class - Save", "dashboard is created for user with id {0}", rtrnVal);
            }
            return rtrnVal;
        }
        public int Save(TopContractsDAL10.SystemTables.Organization Data)
        {
            TopContractsV01Entities context = new TopContractsV01Entities(Utilities.getTestEnvName());

            TopContractsEntities.Organization efOrg = null;
            foreach (TopContractsDAL10.SystemTables.Unit unit in Data.Entries)
            {
                if (unit.New)
                    efOrg = new TopContractsEntities.Organization();
                else
                    efOrg = context.Organizations.Where(c => c.UnitID == unit.ID).SingleOrDefault();

                if (unit.Deleted == false)
                {
                    efOrg.InitCommonFields(efOrg, unit, efOrg.OrganizationLNGs, this.organizationIdentifier);
                    efOrg.UnitLevel = unit.UnitLevel;
                    efOrg.ParentUnitID = unit.ParentUnitID;
                }

                if (unit.New)
                    context.Organizations.Add(efOrg);
                else
                {
                    if (unit.Deleted && efOrg != null)
                    {
                        efOrg.DeleteLanguageEntries(efOrg, context.OrganizationLNGs, efOrg.OrganizationLNGs);
                        context.Organizations.Remove(efOrg);

                        //List<TopContractsEntities.Organization> childUnits = context.Organizations.Where(p => p.ParentUnitID == unit.ID).ToList();
                        //foreach (TopContractsEntities.Organization child in childUnits)
                        //{
                        //    context.Organizations.Remove(child);
                        //    child.DeleteLanguageEntries(child, context.OrganizationLNGs, child.OrganizationLNGs); 
                        //}
                    }
                }

            }
            return context.SaveChanges();
        }