Example #1
0
        public MWQMSiteModel PostDeleteMWQMSiteTVItemDB(int MWQMSiteTVItemID)
        {
            ContactOK contactOK = IsContactOK();

            if (!string.IsNullOrEmpty(contactOK.Error))
            {
                return(ReturnError(contactOK.Error));
            }

            MWQMSiteModel mwqmSiteModelToDelete = GetMWQMSiteModelWithMWQMSiteTVItemIDDB(MWQMSiteTVItemID);

            if (!string.IsNullOrWhiteSpace(mwqmSiteModelToDelete.Error))
            {
                return(ReturnError(mwqmSiteModelToDelete.Error));
            }

            MWQMSiteModel mwqmSiteModelRet = PostDeleteMWQMSiteDB(mwqmSiteModelToDelete.MWQMSiteID);

            if (!string.IsNullOrWhiteSpace(mwqmSiteModelRet.Error))
            {
                return(ReturnError(mwqmSiteModelRet.Error));
            }

            return(ReturnError(""));
        }
Example #2
0
        public MWQMSiteModel GetMWQMSiteModelWithMWQMSiteTVItemIDDB(int MWQMSiteTVItemID)
        {
            MWQMSiteModel MWQMSiteModel = (from c in db.MWQMSites
                                           let mwqmSiteName = (from cl in db.TVItemLanguages where cl.Language == (int)LanguageRequest && cl.TVItemID == c.MWQMSiteTVItemID select cl.TVText).FirstOrDefault <string>()
                                                              where c.MWQMSiteTVItemID == MWQMSiteTVItemID
                                                              select new MWQMSiteModel
            {
                Error = "",
                MWQMSiteID = c.MWQMSiteID,
                DBCommand = (DBCommandEnum)c.DBCommand,
                MWQMSiteTVItemID = c.MWQMSiteTVItemID,
                MWQMSiteTVText = mwqmSiteName,
                MWQMSiteNumber = c.MWQMSiteNumber,
                MWQMSiteDescription = c.MWQMSiteDescription,
                MWQMSiteLatestClassification = (MWQMSiteLatestClassificationEnum)c.MWQMSiteLatestClassification,
                Ordinal = c.Ordinal,
                LastUpdateDate_UTC = c.LastUpdateDate_UTC,
                LastUpdateContactTVItemID = c.LastUpdateContactTVItemID,
            }).FirstOrDefault <MWQMSiteModel>();

            if (MWQMSiteModel == null)
            {
                return(ReturnError(string.Format(ServiceRes.CouldNotFind_With_Equal_, ServiceRes.MWQMSite, ServiceRes.MWQMSiteTVItemID, MWQMSiteTVItemID)));
            }

            return(MWQMSiteModel);
        }
Example #3
0
        public bool GetIsItSameObject(MWQMSiteModel mwqmSiteModel, TVItemModel tvItemModelMWQMSiteExit)
        {
            bool IsSame = false;

            if (mwqmSiteModel.MWQMSiteTVItemID == tvItemModelMWQMSiteExit.TVItemID)
            {
                IsSame = true;
            }

            return(IsSame);
        }
Example #4
0
        public MWQMSiteModel PostAddMWQMSiteDB(MWQMSiteModel mwqmSiteModel)
        {
            string retStr = MWQMSiteModelOK(mwqmSiteModel);

            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(ReturnError(retStr));
            }

            ContactOK contactOK = IsContactOK();

            if (!string.IsNullOrEmpty(contactOK.Error))
            {
                return(ReturnError(contactOK.Error));
            }

            TVItemModel tvItemModelExist = _TVItemService.GetTVItemModelWithTVItemIDDB(mwqmSiteModel.MWQMSiteTVItemID);

            if (!string.IsNullOrWhiteSpace(tvItemModelExist.Error))
            {
                return(ReturnError(tvItemModelExist.Error));
            }

            MWQMSite mwqmSiteNew = new MWQMSite();

            retStr = FillMWQMSite(mwqmSiteNew, mwqmSiteModel, contactOK);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(ReturnError(retStr));
            }

            using (TransactionScope ts = new TransactionScope())
            {
                db.MWQMSites.Add(mwqmSiteNew);
                retStr = DoAddChanges();
                if (!string.IsNullOrWhiteSpace(retStr))
                {
                    return(ReturnError(retStr));
                }

                LogModel logModel = _LogService.PostAddLogForObj("MWQMSites", mwqmSiteNew.MWQMSiteID, LogCommandEnum.Add, mwqmSiteNew);
                if (!string.IsNullOrWhiteSpace(logModel.Error))
                {
                    return(ReturnError(logModel.Error));
                }

                ts.Complete();
            }
            return(GetMWQMSiteModelWithMWQMSiteIDDB(mwqmSiteNew.MWQMSiteID));
        }
Example #5
0
        // Check
        public string MWQMSiteModelOK(MWQMSiteModel mwqmSiteModel)
        {
            string retStr = FieldCheckNotZeroInt(mwqmSiteModel.MWQMSiteTVItemID, ServiceRes.MWQMSiteTVItemID);

            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = FieldCheckNotNullAndMinMaxLengthString(mwqmSiteModel.MWQMSiteTVText, ServiceRes.MWQMSiteTVText, 1, 200);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = FieldCheckNotNullAndMinMaxLengthString(mwqmSiteModel.MWQMSiteNumber, ServiceRes.MWQMSiteNumber, 1, 8);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = FieldCheckIfNotNullMaxLengthString(mwqmSiteModel.MWQMSiteDescription, ServiceRes.MWQMSiteDescription, 200);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = _BaseEnumService.MWQMSiteLatestClassificationOK(mwqmSiteModel.MWQMSiteLatestClassification);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }


            retStr = FieldCheckNotNullAndWithinRangeInt(mwqmSiteModel.Ordinal, ServiceRes.Ordinal, 0, 1000);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = _BaseEnumService.DBCommandOK(mwqmSiteModel.DBCommand);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            return("");
        }
Example #6
0
        public MWQMSiteModel PostUpdateMWQMSiteDB(MWQMSiteModel mwqmSiteModel)
        {
            string retStr = MWQMSiteModelOK(mwqmSiteModel);

            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(ReturnError(retStr));
            }

            ContactOK contactOK = IsContactOK();

            if (!string.IsNullOrEmpty(contactOK.Error))
            {
                return(ReturnError(contactOK.Error));
            }

            MWQMSite mwqmSiteToUpdate = GetMWQMSiteWithMWQMSiteIDDB(mwqmSiteModel.MWQMSiteID);

            if (mwqmSiteToUpdate == null)
            {
                return(ReturnError(string.Format(ServiceRes.CouldNotFind_ToUpdate, ServiceRes.MWQMSite)));
            }

            retStr = FillMWQMSite(mwqmSiteToUpdate, mwqmSiteModel, contactOK);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(ReturnError(retStr));
            }

            using (TransactionScope ts = new TransactionScope())
            {
                retStr = DoUpdateChanges();
                if (!string.IsNullOrWhiteSpace(retStr))
                {
                    return(ReturnError(retStr));
                }

                LogModel logModel = _LogService.PostAddLogForObj("MWQMSites", mwqmSiteToUpdate.MWQMSiteID, LogCommandEnum.Change, mwqmSiteToUpdate);
                if (!string.IsNullOrWhiteSpace(logModel.Error))
                {
                    return(ReturnError(logModel.Error));
                }

                ts.Complete();
            }
            return(GetMWQMSiteModelWithMWQMSiteIDDB(mwqmSiteToUpdate.MWQMSiteID));
        }
Example #7
0
        // Fill
        public string FillMWQMSite(MWQMSite mwqmSite, MWQMSiteModel mwqmSiteModel, ContactOK contactOK)
        {
            mwqmSite.DBCommand                    = (int)mwqmSiteModel.DBCommand;
            mwqmSite.MWQMSiteTVItemID             = mwqmSiteModel.MWQMSiteTVItemID;
            mwqmSite.MWQMSiteNumber               = mwqmSiteModel.MWQMSiteNumber;
            mwqmSite.MWQMSiteDescription          = mwqmSiteModel.MWQMSiteDescription;
            mwqmSite.MWQMSiteLatestClassification = (int)mwqmSiteModel.MWQMSiteLatestClassification;
            mwqmSite.Ordinal            = mwqmSiteModel.Ordinal;
            mwqmSite.LastUpdateDate_UTC = DateTime.UtcNow;
            if (contactOK == null)
            {
                mwqmSite.LastUpdateContactTVItemID = 2;
            }
            else
            {
                mwqmSite.LastUpdateContactTVItemID = contactOK.ContactTVItemID;
            }

            return("");
        }
Example #8
0
        public ActionResult _mwqmSite(string Q)
        {
            List <string> OptionListTxt = new List <string>()
            {
                "10", "15", "20", "25", "30", "35", "40"
            };

            SetArgs(Q);
            ViewBag.URLModel = urlModel;

            if (!OptionListTxt.Contains(urlModel.VariableShow.Substring(0, 2)))
            {
                urlModel.VariableShow = "30" + urlModel.VariableShow.Substring(2);
            }

            ViewBag.MWQMController = _MWQMController;

            MWQMSiteModel mwqmSiteModel = _MWQMSiteService.GetMWQMSiteModelWithMWQMSiteTVItemIDDB(urlModel.TVItemIDList[0]);

            ViewBag.MWQMSiteModelCurrent = mwqmSiteModel;

            TVItemModel tvItemModelCurrent = _TVItemService.GetTVItemModelWithTVItemIDDB(urlModel.TVItemIDList[0]);

            ViewBag.TVItemModelCurrent = tvItemModelCurrent;

            ViewBag.NumberOfSample = int.Parse(GetURLVarShowEnumStr(URLVarShowEnum.NumberOfSampleDecade) + GetURLVarShowEnumStr(URLVarShowEnum.NumberOfSampleUnit));

            ViewBag.IsMoreInfo = (GetURLVarShowEnumStr(URLVarShowEnum.ShowMoreInfo) == "0" ? false : true);

            List <MapInfoPointModel> mapInfoPointModelList = _MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(tvItemModelCurrent.TVItemID, TVTypeEnum.MWQMSite, MapInfoDrawTypeEnum.Point);
            MapInfoPointModel        mapInfoPointModel     = new MapInfoPointModel();

            if (mapInfoPointModelList.Count > 0)
            {
                mapInfoPointModel = mapInfoPointModelList[0];
            }

            ViewBag.MapInfoPointModel = mapInfoPointModel;
            return(PartialView());
        }
Example #9
0
        public PartialViewResult _mwqmSiteAddOrModify(int SubsectorTVItemID, int MWQMSiteTVItemID)
        {
            ViewBag.SubsectorTVItemID = SubsectorTVItemID;
            ViewBag.MWQMSiteTVItemID  = MWQMSiteTVItemID;
            ViewBag.MapInfoPointModel = null;
            ViewBag.TVItemModel       = null;

            ViewBag.MWQMController = _MWQMController;

            MWQMSiteModel mwqmSiteModel = _MWQMSiteService.GetMWQMSiteModelWithMWQMSiteTVItemIDDB(MWQMSiteTVItemID);

            ViewBag.MWQMSiteModel = mwqmSiteModel;

            MapInfoPointModel mapInfoPointModel = _MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(MWQMSiteTVItemID, TVTypeEnum.MWQMSite, MapInfoDrawTypeEnum.Point).FirstOrDefault();

            ViewBag.MapInfoPointModel = mapInfoPointModel;

            TVItemModel tvItemModel = _TVItemService.GetTVItemModelWithTVItemIDDB(MWQMSiteTVItemID);

            ViewBag.TVItemModel = tvItemModel;

            return(PartialView());
        }
Example #10
0
        // Post
        public MWQMSiteModel MWQMSiteSaveAllDB(FormCollection fc)
        {
            //int tempInt = 0;
            int    SubsectorTVItemID   = 0;
            int    MWQMSiteTVItemID    = 0;
            bool   IsActive            = true;
            string MWQMSiteTVText      = "";
            string MWQMSiteNumber      = "";
            string MWQMSiteDescription = "";
            double Lat     = 0.0D;
            double Lng     = 0.0D;
            int    tempInt = 0;

            ContactOK contactOK = IsContactOK();

            if (!string.IsNullOrWhiteSpace(contactOK.Error))
            {
                return(ReturnError(contactOK.Error));
            }

            int.TryParse(fc["SubsectorTVItemID"], out SubsectorTVItemID);
            if (SubsectorTVItemID == 0)
            {
                return(ReturnError(string.Format(ServiceRes._IsRequired, ServiceRes.SubsectorTVItemID)));
            }

            TVItemModel tvItemModelSubsector = _TVItemService.GetTVItemModelWithTVItemIDDB(SubsectorTVItemID);

            if (!string.IsNullOrWhiteSpace(tvItemModelSubsector.Error))
            {
                return(ReturnError(tvItemModelSubsector.Error));
            }

            int.TryParse(fc["MWQMSiteTVItemID"], out MWQMSiteTVItemID);
            // could be 0 if 0 then we need to add the new MWQMSite

            MWQMSiteModel mwqmSiteNewOrToChange = new MWQMSiteModel();

            if (fc["IsActive"] != null)
            {
                IsActive = true;
            }
            else
            {
                IsActive = false;
            }

            if (MWQMSiteTVItemID != 0)
            {
                mwqmSiteNewOrToChange = GetMWQMSiteModelWithMWQMSiteTVItemIDDB(MWQMSiteTVItemID);
                if (!string.IsNullOrWhiteSpace(mwqmSiteNewOrToChange.Error))
                {
                    return(ReturnError(mwqmSiteNewOrToChange.Error));
                }
            }

            mwqmSiteNewOrToChange.DBCommand = DBCommandEnum.Original;

            MWQMSiteTVText = fc["MWQMSiteTVText"];
            if (string.IsNullOrWhiteSpace(MWQMSiteTVText))
            {
                return(ReturnError(string.Format(ServiceRes._IsRequired, ServiceRes.MWQMSiteTVText)));
            }

            if (MWQMSiteTVText.Contains("#"))
            {
                return(ReturnError(string.Format(ServiceRes.NameOfItemShouldNotContainThe_Character, "#")));
            }

            mwqmSiteNewOrToChange.MWQMSiteTVText = MWQMSiteTVText;

            MWQMSiteNumber = fc["MWQMSiteNumber"];
            if (string.IsNullOrWhiteSpace(MWQMSiteNumber))
            {
                return(ReturnError(string.Format(ServiceRes._IsRequired, ServiceRes.MWQMSiteNumber)));
            }

            mwqmSiteNewOrToChange.MWQMSiteNumber = MWQMSiteNumber;

            List <TVItemModel> tvItemModelMWQMSiteList = _TVItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(SubsectorTVItemID, TVTypeEnum.MWQMSite);

            foreach (TVItemModel tvItemModelMWQMSite in tvItemModelMWQMSiteList)
            {
                if (tvItemModelMWQMSite.TVItemID != MWQMSiteTVItemID)
                {
                    MWQMSiteModel mwqmSiteModel = GetMWQMSiteModelWithMWQMSiteTVItemIDDB(tvItemModelMWQMSite.TVItemID);
                    if (!string.IsNullOrWhiteSpace(mwqmSiteModel.Error))
                    {
                        return(ReturnError(mwqmSiteModel.Error));
                    }

                    if (mwqmSiteModel.MWQMSiteNumber == MWQMSiteNumber)
                    {
                        return(ReturnError(string.Format(ServiceRes.MWQMSiteNumberHasToBeUniqueForSubsector)));
                    }
                }
            }

            MWQMSiteDescription = fc["MWQMSiteDescription"];
            if (string.IsNullOrWhiteSpace(MWQMSiteDescription))
            {
                return(ReturnError(string.Format(ServiceRes._IsRequired, ServiceRes.MWQMSiteDescription)));
            }

            mwqmSiteNewOrToChange.MWQMSiteDescription = MWQMSiteDescription;

            int.TryParse(fc["MWQMSiteLatestClassification"], out tempInt);
            if (tempInt == 0)
            {
                return(ReturnError(string.Format(ServiceRes._IsRequired, ServiceRes.MWQMSiteLatestClassification)));
            }

            mwqmSiteNewOrToChange.MWQMSiteLatestClassification = (MWQMSiteLatestClassificationEnum)tempInt;

            double.TryParse(fc["Lat"], out Lat);
            if (Lat == 0.0D)
            {
                return(ReturnError(string.Format(ServiceRes._IsRequired, ServiceRes.Lat)));
            }

            double.TryParse(fc["Lng"], out Lng);
            if (Lng == 0.0D)
            {
                return(ReturnError(string.Format(ServiceRes._IsRequired, ServiceRes.Lng)));
            }

            List <Coord> coordList = new List <Coord>()
            {
                new Coord()
                {
                    Lat = (float)Lat, Lng = (float)Lng, Ordinal = 0
                }
            };

            MWQMSiteModel mwqmSiteModelRet = new MWQMSiteModel();

            using (TransactionScope ts = new TransactionScope())
            {
                if (MWQMSiteTVItemID == 0)
                {
                    TVItemModel tvItemModelNewMWQMSite = _TVItemService.PostAddChildTVItemDB(SubsectorTVItemID, MWQMSiteTVText, TVTypeEnum.MWQMSite);
                    if (!string.IsNullOrWhiteSpace(tvItemModelNewMWQMSite.Error))
                    {
                        return(ReturnError(tvItemModelNewMWQMSite.Error));
                    }

                    mwqmSiteNewOrToChange.MWQMSiteTVItemID = tvItemModelNewMWQMSite.TVItemID;

                    mwqmSiteModelRet = PostAddMWQMSiteDB(mwqmSiteNewOrToChange);
                    if (!string.IsNullOrWhiteSpace(mwqmSiteModelRet.Error))
                    {
                        return(ReturnError(mwqmSiteModelRet.Error));
                    }
                }
                else
                {
                    mwqmSiteModelRet = PostUpdateMWQMSiteDB(mwqmSiteNewOrToChange);
                    if (!string.IsNullOrWhiteSpace(mwqmSiteModelRet.Error))
                    {
                        return(ReturnError(mwqmSiteModelRet.Error));
                    }
                }


                List <MapInfoPointModel> mapInfoPointModelList = _MapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(mwqmSiteModelRet.MWQMSiteTVItemID, TVTypeEnum.MWQMSite, MapInfoDrawTypeEnum.Point);
                if (mapInfoPointModelList.Count == 0)
                {
                    MapInfoModel mapInfoModelRet = _MapInfoService.CreateMapInfoObjectDB(coordList, MapInfoDrawTypeEnum.Point, TVTypeEnum.MWQMSite, mwqmSiteModelRet.MWQMSiteTVItemID);
                    if (!string.IsNullOrWhiteSpace(mapInfoModelRet.Error))
                    {
                        return(ReturnError(mapInfoModelRet.Error));
                    }
                }
                else
                {
                    mapInfoPointModelList[0].Lat = coordList[0].Lat;
                    mapInfoPointModelList[0].Lng = coordList[0].Lng;

                    MapInfoPointModel mapInfoPointModelRet = _MapInfoService._MapInfoPointService.PostUpdateMapInfoPointDB(mapInfoPointModelList[0]);
                    if (!string.IsNullOrWhiteSpace(mapInfoPointModelRet.Error))
                    {
                        return(ReturnError(mapInfoPointModelRet.Error));
                    }
                }

                TVItemModel tvItemModel = _TVItemService.GetTVItemModelWithTVItemIDDB(mwqmSiteModelRet.MWQMSiteTVItemID);
                if (!string.IsNullOrWhiteSpace(tvItemModel.Error))
                {
                    return(ReturnError(tvItemModel.Error));
                }

                tvItemModel.IsActive = IsActive;
                tvItemModel.TVText   = MWQMSiteTVText;

                TVItemModel tvItemModelRet = _TVItemService.PostUpdateTVItemDB(tvItemModel);
                if (!string.IsNullOrWhiteSpace(tvItemModelRet.Error))
                {
                    return(ReturnError(tvItemModelRet.Error));
                }

                ts.Complete();
            }
            return(mwqmSiteModelRet);
        }
Example #11
0
 public string CreateTVText(MWQMSiteModel mwqmSiteModel)
 {
     return(mwqmSiteModel.MWQMSiteTVText);
 }
Example #12
0
        public bool CreateStationsBC()
        {
            if (Cancel)
            {
                return(false);
            }

            TVItemService tvItemServiceR = new TVItemService(LanguageEnum.en, user);

            TVItemModel tvItemModelRoot = tvItemServiceR.GetRootTVItemModelDB();

            if (!CheckModelOK <TVItemModel>(tvItemModelRoot))
            {
                return(false);
            }

            TVItemModel tvItemModelCanada = tvItemServiceR.GetChildTVItemModelWithParentIDAndTVTextAndTVTypeDB(tvItemModelRoot.TVItemID, "Canada", TVTypeEnum.Country);

            if (!CheckModelOK <TVItemModel>(tvItemModelCanada))
            {
                return(false);
            }

            TVItemModel tvItemModelBC = tvItemServiceR.GetChildTVItemModelWithParentIDAndTVTextAndTVTypeDB(tvItemModelCanada.TVItemID, "British Columbia", TVTypeEnum.Province);

            if (!CheckModelOK <TVItemModel>(tvItemModelBC))
            {
                return(false);
            }

            List <TVItemModel> tvItemModelSubsectorBCList = tvItemServiceR.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelBC.TVItemID, TVTypeEnum.Subsector);

            if (tvItemModelSubsectorBCList.Count == 0)
            {
                richTextBoxStatus.AppendText("Could not find TVItem Subsector under British Columbia\r\n");
                return(false);
            }

            lblStatus.Text = "Starting ... LoadStationsBC";
            Application.DoEvents();

            int StartBCCreateStationBC = int.Parse(textBoxBCCreateStationsBC.Text);

            List <BCStation> BCWQMSiteList          = new List <BCStation>();
            TVItemModel      TVItemModelSubsectorBC = new TVItemModel();
            List <TT>        tideTextInDBList       = new List <TT>();
            List <AM>        analyseMethodInDBList  = new List <AM>();
            List <Mat>       matrixInDBList         = new List <Mat>();
            List <Lab>       labInDBList            = new List <Lab>();

            int TotalCount = tvItemModelSubsectorBCList.Count();
            int Count      = 0;

            foreach (TVItemModel tvItemModelSubsector in tvItemModelSubsectorBCList)
            {
                if (Cancel)
                {
                    return(false);
                }

                Count          += 1;
                lblStatus.Text  = (Count * 100 / TotalCount).ToString() + " ... CreateStationsBC for " + tvItemModelSubsector.TVText;
                lblStatus2.Text = Count + " of " + TotalCount;
                Application.DoEvents();

                textBoxBCCreateStationsBC.Text = Count.ToString();

                if (StartBCCreateStationBC > Count)
                {
                    continue;
                }

                // doing Land base stations

                List <TempData.BCLandSampleStation> bcLandSampleStation = new List <TempData.BCLandSampleStation>();

                using (TempData.TempDataToolDBEntities dbDT = new TempData.TempDataToolDBEntities())
                {
                    string TVText = tvItemModelSubsector.TVText.Substring(0, 4);

                    bcLandSampleStation = (from c in dbDT.BCLandSampleStations
                                           where c.SS_SHELLFI == TVText
                                           orderby c.BCLandSampleStationID
                                           select c).ToList <TempData.BCLandSampleStation>();
                }

                int CountSta      = 0;
                int TotalCountSta = bcLandSampleStation.Count;
                foreach (TempData.BCLandSampleStation bcmss in bcLandSampleStation)
                {
                    if (Cancel)
                    {
                        return(false);
                    }

                    CountSta       += 1;
                    lblStatus2.Text = "Doing Land Base ... " + CountSta + " of " + TotalCountSta;
                    Application.DoEvents();

                    string TVText = bcmss.SS_STATION;

                    TVItemService   tvItemService   = new TVItemService(LanguageEnum.en, user);
                    MapInfoService  mapInfoService  = new MapInfoService(LanguageEnum.en, user);
                    MWQMSiteService mwqmSiteService = new MWQMSiteService(LanguageEnum.en, user);

                    TVItemModel tvItemModelMWQMSite = tvItemService.GetChildTVItemModelWithParentIDAndTVTextAndTVTypeDB(tvItemModelSubsector.TVItemID, TVText, TVTypeEnum.MWQMSite);
                    if (!string.IsNullOrWhiteSpace(tvItemModelMWQMSite.Error))
                    {
                        tvItemModelMWQMSite = tvItemService.PostCreateTVItem(tvItemModelSubsector.TVItemID, TVText, TVText, TVTypeEnum.MWQMSite);
                        if (!CheckModelOK <TVItemModel>(tvItemModelMWQMSite))
                        {
                            return(false);
                        }

                        List <Coord> coordList2 = new List <Coord>()
                        {
                            new Coord()
                            {
                                Lat = (float)(bcmss.LAT == null ? 50.0f : bcmss.LAT),
                                Lng = (float)(bcmss.LON == null ? -132.0f : bcmss.LON),
                            }
                        };

                        if (coordList2[0].Lat == 124.40966796875 && coordList2[0].Lng == -48.585498809814453)
                        {
                            coordList2[0].Lat = 48.585498809814453f;
                            coordList2[0].Lng = -124.40966796875f;
                        }

                        MapInfoModel mapInfoModelRet = mapInfoService.CreateMapInfoObjectDB(coordList2, MapInfoDrawTypeEnum.Point, TVTypeEnum.MWQMSite, tvItemModelMWQMSite.TVItemID);
                        if (!CheckModelOK <MapInfoModel>(mapInfoModelRet))
                        {
                            return(false);
                        }

                        MWQMSiteModel mwqmSiteModelNew = new MWQMSiteModel()
                        {
                            MWQMSiteTVItemID    = tvItemModelMWQMSite.TVItemID,
                            MWQMSiteNumber      = bcmss.SS_STATION.ToString(),
                            MWQMSiteTVText      = TVText,
                            MWQMSiteDescription = "empty",
                        };

                        MWQMSiteModel mwqmSiteModelRet = mwqmSiteService.PostAddMWQMSiteDB(mwqmSiteModelNew);
                        if (!CheckModelOK <MWQMSiteModel>(mwqmSiteModelRet))
                        {
                            return(false);
                        }
                    }
                }

                // doing Marine base stations

                List <TempData.BCMarineSampleStation> bcMarineSampleStation = new List <TempData.BCMarineSampleStation>();

                using (TempData.TempDataToolDBEntities dbDT = new TempData.TempDataToolDBEntities())
                {
                    string TVText = tvItemModelSubsector.TVText.Substring(0, 4);

                    bcMarineSampleStation = (from c in dbDT.BCMarineSampleStations
                                             where c.SS_SHELLFI == TVText
                                             orderby c.BCMarineSampleStationID
                                             select c).ToList <TempData.BCMarineSampleStation>();
                }

                CountSta      = 0;
                TotalCountSta = bcMarineSampleStation.Count;
                foreach (TempData.BCMarineSampleStation bcmss in bcMarineSampleStation)
                {
                    if (Cancel)
                    {
                        return(false);
                    }

                    CountSta       += 1;
                    lblStatus2.Text = "Doing Marine Base ... " + CountSta + " of " + TotalCountSta;
                    Application.DoEvents();

                    string TVText = bcmss.SS_STATION;

                    TVItemService   tvItemService   = new TVItemService(LanguageEnum.en, user);
                    MapInfoService  mapInfoService  = new MapInfoService(LanguageEnum.en, user);
                    MWQMSiteService mwqmSiteService = new MWQMSiteService(LanguageEnum.en, user);

                    TVItemModel tvItemModelMWQMSite = tvItemService.GetChildTVItemModelWithParentIDAndTVTextAndTVTypeDB(tvItemModelSubsector.TVItemID, TVText, TVTypeEnum.MWQMSite);
                    if (!string.IsNullOrWhiteSpace(tvItemModelMWQMSite.Error))
                    {
                        tvItemModelMWQMSite = tvItemService.PostCreateTVItem(tvItemModelSubsector.TVItemID, TVText, TVText, TVTypeEnum.MWQMSite);
                        if (!CheckModelOK <TVItemModel>(tvItemModelMWQMSite))
                        {
                            return(false);
                        }

                        List <Coord> coordList2 = new List <Coord>()
                        {
                            new Coord()
                            {
                                Lat = (float)(bcmss.LAT == null ? 50.0f : bcmss.LAT),
                                Lng = (float)(bcmss.LON == null ? -132.0f : bcmss.LON),
                            }
                        };

                        MapInfoModel mapInfoModelRet = mapInfoService.CreateMapInfoObjectDB(coordList2, MapInfoDrawTypeEnum.Point, TVTypeEnum.MWQMSite, tvItemModelMWQMSite.TVItemID);
                        if (!CheckModelOK <MapInfoModel>(mapInfoModelRet))
                        {
                            return(false);
                        }

                        MWQMSiteModel mwqmSiteModelNew = new MWQMSiteModel()
                        {
                            MWQMSiteTVItemID    = tvItemModelMWQMSite.TVItemID,
                            MWQMSiteNumber      = bcmss.SS_STATION.ToString(),
                            MWQMSiteTVText      = TVText,
                            MWQMSiteDescription = "empty",
                        };

                        MWQMSiteModel mwqmSiteModelRet = mwqmSiteService.PostAddMWQMSiteDB(mwqmSiteModelNew);
                        if (!CheckModelOK <MWQMSiteModel>(mwqmSiteModelRet))
                        {
                            return(false);
                        }
                    }
                }
            }

            return(true);
        }
Example #13
0
        public JsonResult MWQMSiteSaveAllJSON(FormCollection fc)
        {
            MWQMSiteModel mwqmSiteModel = _MWQMSiteService.MWQMSiteSaveAllDB(fc);

            return(Json(mwqmSiteModel.Error, JsonRequestBehavior.AllowGet));
        }
Example #14
0
        public bool CreateStationsQC()
        {
            TVItemService         tvItemService         = new TVItemService(LanguageEnum.en, user);
            TVItemLanguageService tvItemLanguageService = new TVItemLanguageService(LanguageEnum.en, user);
            MapInfoService        mapInfoService        = new MapInfoService(LanguageEnum.en, user);
            MWQMSiteService       mwqmSiteService       = new MWQMSiteService(LanguageEnum.en, user);

            TVItemModel tvItemModelRoot = tvItemService.GetRootTVItemModelDB();

            if (!CheckModelOK <TVItemModel>(tvItemModelRoot))
            {
                return(false);
            }

            TVItemModel tvItemModelCanada = tvItemService.GetChildTVItemModelWithParentIDAndTVTextAndTVTypeDB(tvItemModelRoot.TVItemID, "Canada", TVTypeEnum.Country);

            if (!CheckModelOK <TVItemModel>(tvItemModelCanada))
            {
                return(false);
            }

            TVItemModel tvItemModelQC = tvItemService.GetChildTVItemModelWithParentIDAndTVTextAndTVTypeDB(tvItemModelCanada.TVItemID, "Québec", TVTypeEnum.Province);

            if (!CheckModelOK <TVItemModel>(tvItemModelQC))
            {
                return(false);
            }

            List <TVItemModel> tvItemModelSubsectorQCList = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelQC.TVItemID, TVTypeEnum.Subsector);

            if (tvItemModelSubsectorQCList.Count == 0)
            {
                richTextBoxStatus.AppendText("Could not find TVItem Subsector under British Columbia\r\n");
                return(false);
            }

            lblStatus.Text = "Starting ... CreateStationsQC";
            Application.DoEvents();

            int StartQCCreateStationQC = int.Parse(textBoxQCCreateStationsQC.Text);

            List <Obs>          obsTypeList                     = new List <Obs>();
            List <string>       sectorList                      = new List <string>();
            List <TT>           tideTextInDBList                = new List <TT>();
            List <AM>           analyseMethodInDBList           = new List <AM>();
            List <Mat>          matrixInDBList                  = new List <Mat>();
            List <Lab>          labInDBList                     = new List <Lab>();
            List <SampleStatus> sampleStatusInDBList            = new List <SampleStatus>();
            List <TempData.QCSubsectorAssociation> qcSubAssList = new List <TempData.QCSubsectorAssociation>();

            using (TempData.TempDataToolDBEntities dbDT = new TempData.TempDataToolDBEntities())
            {
                qcSubAssList = (from c in dbDT.QCSubsectorAssociations
                                select c).ToList <TempData.QCSubsectorAssociation>();
            }

            using (PCCSM.pccsmEntities dbQC = new PCCSM.pccsmEntities())
            {
                sectorList = (from s in dbQC.geo_stations_p
                              where s.secteur != null
                              select s.secteur).Distinct().OrderBy(c => c).ToList();
            }

            List <TVItemModel> tvItemModelSubsectorList = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelQC.TVItemID, TVTypeEnum.Subsector);
            List <TVItemModel> tvItemModelSiteList      = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelQC.TVItemID, TVTypeEnum.MWQMSite);

            TempData.QCSubsectorAssociation qcSubsectAss = new TempData.QCSubsectorAssociation();

            // doing every sector with the exception of MS__

            List <PCCSM.geo_stations_p> staQCList = new List <PCCSM.geo_stations_p>();

            using (PCCSM.pccsmEntities dbQC = new PCCSM.pccsmEntities())
            {
                staQCList = (from c in dbQC.geo_stations_p
                             where (c.x != null && c.y != null) &&
                             c.secteur != null
                             orderby c.secteur, c.station
                             select c).ToList <PCCSM.geo_stations_p>();
            }

            List <TVItemLanguage> tvItemSiteLanguageList = new List <TVItemLanguage>();
            int TVItemIDSSOld = 0;
            int count         = 0;
            int total         = staQCList.Count;

            foreach (PCCSM.geo_stations_p geoStat in staQCList)
            {
                if (Cancel)
                {
                    return(false);
                }

                textBoxQCCreateStationsQC.Text = count.ToString();

                if (StartQCCreateStationQC > count)
                {
                    continue;
                }

                qcSubsectAss = (from c in qcSubAssList
                                where c.QCSectorText == geoStat.secteur
                                select c).FirstOrDefault <TempData.QCSubsectorAssociation>();

                if (qcSubsectAss == null)
                {
                    richTextBoxStatus.AppendText(geoStat.secteur + " does not exist\r\n");
                    //return false;
                    continue;
                }

                TVItemModel tvItemModelSubsector = (from c in tvItemModelSubsectorList
                                                    where c.TVText.StartsWith(qcSubsectAss.SubsectorText)
                                                    select c).FirstOrDefault();

                if (TVItemIDSSOld != tvItemModelSubsector.TVItemID)
                {
                    using (CSSPDBEntities db2 = new CSSPDBEntities())
                    {
                        tvItemSiteLanguageList = (from c in db2.TVItems
                                                  from cl in db2.TVItemLanguages
                                                  where c.TVItemID == cl.TVItemID &&
                                                  c.ParentID == tvItemModelSubsector.TVItemID &&
                                                  c.TVType == (int)TVTypeEnum.MWQMSite
                                                  select cl).ToList();
                    }

                    TVItemIDSSOld = tvItemModelSubsector.TVItemID;
                }

                if (tvItemModelSubsector == null)
                {
                    richTextBoxStatus.AppendText("could not find subsector" + geoStat.secteur + "\r\n");
                    //return false;
                    continue;
                }

                bool IsActive = true;
                if (geoStat.status != null)
                {
                    IsActive = (geoStat.status.Substring(0, 1) == "i" ? false : true);
                }

                string PreText = "";
                if (geoStat.secteur.Length < qcSubsectAss.SubsectorText.Length)
                {
                    PreText = "";
                }
                else
                {
                    if (geoStat.secteur.StartsWith(qcSubsectAss.SubsectorText))
                    {
                        PreText = geoStat.secteur.Substring(qcSubsectAss.SubsectorText.Length) + "_";
                    }
                    else
                    {
                        PreText = geoStat.secteur + "_";
                    }
                }
                if (PreText.StartsWith(".") || PreText.StartsWith("_"))
                {
                    PreText = PreText.Substring(1);
                }

                string MWQMSiteTVText = PreText + "0000".Substring(0, 4 - geoStat.station.ToString().Length) + geoStat.station.ToString();

                string subsector = tvItemModelSubsector.TVText;
                if (subsector.Contains(" "))
                {
                    subsector = subsector.Substring(0, subsector.IndexOf(" "));
                }

                count         += 1;
                lblStatus.Text = $"{subsector} --- {MWQMSiteTVText} --- { count.ToString()}/{total.ToString()}";
                Application.DoEvents();


                List <MapInfoModel> mapInfoModelList = mapInfoService.GetMapInfoModelWithLatAndLngInPolygonWithTVTypeDB((float)geoStat.y, (float)geoStat.x, TVTypeEnum.Subsector);
                if (mapInfoModelList.Count == 0)
                {
                    //return false;
                    continue;
                }

                TVItemModel tvItemModel = (from c in tvItemModelSiteList
                                           where c.ParentID == tvItemModelSubsector.TVItemID &&
                                           c.TVText.EndsWith(MWQMSiteTVText)
                                           select c).FirstOrDefault();

                //TVItemModel tvItemModel = tvItemModelMWQMSiteList.Where(c => c.TVText.EndsWith(MWQMSiteTVText)).FirstOrDefault();
                if (tvItemModel == null)
                {
                    TVItemModel tvItemModelRet = tvItemService.PostCreateTVItem(tvItemModelSubsector.TVItemID, MWQMSiteTVText, MWQMSiteTVText, TVTypeEnum.MWQMSite);
                    if (!CheckModelOK <TVItemModel>(tvItemModelRet))
                    {
                        //return false;
                        continue;
                    }

                    if (geoStat.status == null)
                    {
                        tvItemModelRet.IsActive = false;
                    }
                    else
                    {
                        tvItemModelRet.IsActive = (geoStat.status.Substring(0, 1) == "i" ? false : true);
                    }

                    TVItemModel tvItemModelRet2 = tvItemService.PostUpdateTVItemDB(tvItemModelRet);
                    if (!CheckModelOK <TVItemModel>(tvItemModelRet2))
                    {
                        //return false;
                        continue;
                    }

                    List <Coord> coordList2 = new List <Coord>()
                    {
                        new Coord()
                        {
                            Lat = (float)geoStat.y,
                            Lng = (float)geoStat.x,
                        }
                    };

                    MapInfoModel mapInfoModelRet = mapInfoService.CreateMapInfoObjectDB(coordList2, MapInfoDrawTypeEnum.Point, TVTypeEnum.MWQMSite, tvItemModelRet2.TVItemID);
                    if (!CheckModelOK <MapInfoModel>(mapInfoModelRet))
                    {
                        //return false;
                        continue;
                    }

                    // should add the QC station to WQMSite
                    MWQMSiteModel mwqmSiteModelNew = new MWQMSiteModel()
                    {
                        MWQMSiteTVItemID    = tvItemModelRet2.TVItemID,
                        MWQMSiteNumber      = geoStat.station.ToString(),
                        Ordinal             = (int)geoStat.station,
                        MWQMSiteTVText      = MWQMSiteTVText,
                        MWQMSiteDescription = "--"
                    };

                    MWQMSiteModel mwqmSiteModelRet = mwqmSiteService.PostAddMWQMSiteDB(mwqmSiteModelNew);
                    if (!CheckModelOK <MWQMSiteModel>(mwqmSiteModelRet))
                    {
                        //return false;
                        continue;
                    }
                }
                else
                {
                    TVItemLanguage tvItemLanguageEN = (from c in tvItemSiteLanguageList
                                                       where c.TVItemID == tvItemModel.TVItemID &&
                                                       c.Language == (int)LanguageEnum.en
                                                       select c).FirstOrDefault();

                    TVItemLanguage tvItemLanguageFR = (from c in tvItemSiteLanguageList
                                                       where c.TVItemID == tvItemModel.TVItemID &&
                                                       c.Language == (int)LanguageEnum.fr
                                                       select c).FirstOrDefault();

                    if (tvItemLanguageEN.TVText != MWQMSiteTVText || tvItemLanguageFR.TVText != MWQMSiteTVText)
                    {
                        foreach (LanguageEnum language in new List <LanguageEnum>()
                        {
                            LanguageEnum.en, LanguageEnum.fr
                        })
                        {
                            TVItemLanguageModel tvItemLanguageModel = tvItemLanguageService.GetTVItemLanguageModelWithTVItemIDAndLanguageDB(tvItemModel.TVItemID, language);
                            if (!CheckModelOK <TVItemLanguageModel>(tvItemLanguageModel))
                            {
                                //return false;
                                continue;
                            }

                            if (tvItemLanguageModel.TVText != MWQMSiteTVText)
                            {
                                tvItemLanguageModel.TVText = MWQMSiteTVText;

                                TVItemLanguageModel tvItemLanguageModelRet = tvItemLanguageService.PostUpdateTVItemLanguageDB(tvItemLanguageModel);
                                if (!CheckModelOK <TVItemLanguageModel>(tvItemLanguageModelRet))
                                {
                                    //return false;
                                    continue;
                                }
                            }
                        }
                    }
                }
            }

            return(true);
        }