Пример #1
0
        public BoxModelResultModel GetBoxModelResultModelWithBoxModelResultIDDB(int BoxModelResultID)
        {
            BoxModelResultModel boxModelResultModel = (from c in db.BoxModelResults
                                                       where c.BoxModelResultID == BoxModelResultID
                                                       select new BoxModelResultModel
            {
                Error = "",
                BoxModelResultID = c.BoxModelResultID,
                DBCommand = (DBCommandEnum)c.DBCommand,
                BoxModelID = c.BoxModelID,
                CircleCenterLatitude = c.CircleCenterLatitude,
                CircleCenterLongitude = c.CircleCenterLongitude,
                FixLength = c.FixLength,
                FixWidth = c.FixWidth,
                LeftSideDiameterLineAngle_deg = c.LeftSideDiameterLineAngle_deg,
                LeftSideLineAngle_deg = c.LeftSideLineAngle_deg,
                LeftSideLineStartLatitude = c.LeftSideLineStartLatitude,
                LeftSideLineStartLongitude = c.LeftSideLineStartLongitude,
                Radius_m = c.Radius_m,
                RectLength_m = c.RectLength_m,
                RectWidth_m = c.RectWidth_m,
                BoxModelResultType = (BoxModelResultTypeEnum)c.BoxModelResultType,
                Surface_m2 = c.Surface_m2,
                Volume_m3 = c.Volume_m3,
                LastUpdateDate_UTC = c.LastUpdateDate_UTC,
                LastUpdateContactTVItemID = c.LastUpdateContactTVItemID,
            }).FirstOrDefault <BoxModelResultModel>();

            if (boxModelResultModel == null)
            {
                return(ReturnError(string.Format(ServiceRes.CouldNotFind_With_Equal_, ServiceRes.BoxModelResultModel, ServiceRes.BoxModelResultID, BoxModelResultID)));
            }

            return(boxModelResultModel);
        }
Пример #2
0
        // Fill
        public string FillBoxModelResultModel(BoxModelResult boxModelResult, BoxModelResultModel boxModelResultModel, ContactOK contactOK)
        {
            boxModelResult.DBCommand             = (int)boxModelResultModel.DBCommand;
            boxModelResult.BoxModelID            = boxModelResultModel.BoxModelID;
            boxModelResult.CircleCenterLatitude  = boxModelResultModel.CircleCenterLatitude;
            boxModelResult.CircleCenterLongitude = boxModelResultModel.CircleCenterLongitude;
            boxModelResult.FixLength             = boxModelResultModel.FixLength;
            boxModelResult.FixWidth = boxModelResultModel.FixWidth;
            boxModelResult.LeftSideDiameterLineAngle_deg = boxModelResultModel.LeftSideDiameterLineAngle_deg;
            boxModelResult.LeftSideLineAngle_deg         = boxModelResultModel.LeftSideLineAngle_deg;
            boxModelResult.LeftSideLineStartLatitude     = boxModelResultModel.LeftSideLineStartLatitude;
            boxModelResult.LeftSideLineStartLongitude    = boxModelResultModel.LeftSideLineStartLongitude;
            boxModelResult.Radius_m           = boxModelResultModel.Radius_m;
            boxModelResult.RectLength_m       = boxModelResultModel.RectLength_m;
            boxModelResult.RectWidth_m        = boxModelResultModel.RectWidth_m;
            boxModelResult.BoxModelResultType = (int)boxModelResultModel.BoxModelResultType;
            boxModelResult.Surface_m2         = boxModelResultModel.Surface_m2;
            boxModelResult.Volume_m3          = boxModelResultModel.Volume_m3;
            boxModelResult.LastUpdateDate_UTC = DateTime.UtcNow;
            if (contactOK == null)
            {
                boxModelResult.LastUpdateContactTVItemID = 2;
            }
            else
            {
                boxModelResult.LastUpdateContactTVItemID = contactOK.ContactTVItemID;
            }

            return("");
        }
Пример #3
0
        // Check
        public string BoxModelResultModelOK(BoxModelResultModel boxModelResultModel)
        {
            string retStr = FieldCheckNotZeroInt(boxModelResultModel.BoxModelID, ServiceRes.BoxModelID);

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

            retStr = _BaseEnumService.BoxModelResultTypeOK(boxModelResultModel.BoxModelResultType);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = FieldCheckNotZeroDouble(boxModelResultModel.Radius_m, ServiceRes.Radius_m);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = FieldCheckNotZeroDouble(boxModelResultModel.RectLength_m, ServiceRes.RectLength_m);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = FieldCheckNotZeroDouble(boxModelResultModel.RectWidth_m, ServiceRes.RectWidth_m);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = FieldCheckNotZeroDouble(boxModelResultModel.Surface_m2, ServiceRes.Surface_m2);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = FieldCheckNotZeroDouble(boxModelResultModel.Volume_m3, ServiceRes.Volume_m3);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

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

            return("");
        }
Пример #4
0
        public BoxModelResultModel PostUpdateBoxModelResultDB(BoxModelResultModel boxModelResultModel)
        {
            string retStr = BoxModelResultModelOK(boxModelResultModel);

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

            ContactOK contactOK = IsContactOK();

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

            BoxModelResult boxModelResultToUpdate = GetBoxModelResultWithBoxModelResultIDDB(boxModelResultModel.BoxModelResultID);

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

            retStr = FillBoxModelResultModel(boxModelResultToUpdate, boxModelResultModel, 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("BoxModelResults", boxModelResultToUpdate.BoxModelID, LogCommandEnum.Change, boxModelResultToUpdate);
                if (!string.IsNullOrWhiteSpace(logModel.Error))
                {
                    return(ReturnError(logModel.Error));
                }

                ts.Complete();
            }
            return(GetBoxModelResultModelWithBoxModelIDAndResultTypeDB(boxModelResultToUpdate.BoxModelID, (BoxModelResultTypeEnum)boxModelResultToUpdate.BoxModelResultType));
        }
Пример #5
0
        // Post
        public BoxModelResultModel PostAddBoxModelResultDB(BoxModelResultModel boxModelResultModel)
        {
            string retStr = BoxModelResultModelOK(boxModelResultModel);

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

            ContactOK contactOK = IsContactOK();

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

            BoxModelResult boxModelResultNew = new BoxModelResult();

            retStr = FillBoxModelResultModel(boxModelResultNew, boxModelResultModel, contactOK);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(ReturnError(retStr));
            }

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

                LogModel logModel = _LogService.PostAddLogForObj("BoxModelResults", boxModelResultNew.BoxModelID, LogCommandEnum.Add, boxModelResultNew);
                if (!string.IsNullOrWhiteSpace(logModel.Error))
                {
                    return(ReturnError(logModel.Error));
                }

                ts.Complete();
            }
            return(GetBoxModelResultModelWithBoxModelResultIDDB(boxModelResultNew.BoxModelResultID));
        }
Пример #6
0
        // Helper
        public BoxModelModel AddOrUpdateBoxModelResultModel(BoxModelModel boxModelModel)
        {
            ContactOK contactOK = IsContactOK();

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

            bool ShouldAdd = true;

            for (int i = 1; i < 6; i++)
            {
                BoxModelResultModel boxModelResultModel;
                BoxModelResultModel boxModelResultModelRet = _BoxModelResultService.GetBoxModelResultModelWithBoxModelIDAndResultTypeDB(boxModelModel.BoxModelID, (BoxModelResultTypeEnum)i);
                if (!string.IsNullOrWhiteSpace(boxModelResultModelRet.Error))
                {
                    ShouldAdd           = true;
                    boxModelResultModel = new BoxModelResultModel();
                }
                else
                {
                    ShouldAdd           = false;
                    boxModelResultModel = boxModelResultModelRet;
                }
                boxModelResultModel.DBCommand          = DBCommandEnum.Original;
                boxModelResultModel.BoxModelID         = boxModelModel.BoxModelID;
                boxModelResultModel.BoxModelResultType = (BoxModelResultTypeEnum)i;
                switch (i)
                {
                case (int)BoxModelResultTypeEnum.Dilution:
                {
                    boxModelResultModel.Volume_m3 = (boxModelModel.Discharge_m3_day * (boxModelModel.DischargeDuration_hour / 24) * boxModelModel.Dilution);
                }
                break;

                case (int)BoxModelResultTypeEnum.NoDecayUntreated:
                {
                    boxModelResultModel.Volume_m3 = (boxModelModel.Discharge_m3_day * (boxModelModel.DischargeDuration_hour / 24) * boxModelModel.FCUntreated_MPN_100ml) / boxModelModel.Concentration_MPN_100ml;
                }
                break;

                case (int)BoxModelResultTypeEnum.NoDecayPreDisinfection:
                {
                    boxModelResultModel.Volume_m3 = (boxModelModel.Discharge_m3_day * (boxModelModel.DischargeDuration_hour / 24) * boxModelModel.FCPreDisinfection_MPN_100ml) / boxModelModel.Concentration_MPN_100ml;
                }
                break;

                case (int)BoxModelResultTypeEnum.DecayUntreated:
                {
                    boxModelResultModel.Volume_m3 = (boxModelModel.Discharge_m3_day * (boxModelModel.DischargeDuration_hour / 24) * (boxModelModel.FCUntreated_MPN_100ml - boxModelModel.Concentration_MPN_100ml)) / boxModelModel.DecayRate_per_day / boxModelModel.Concentration_MPN_100ml;
                }
                break;

                case (int)BoxModelResultTypeEnum.DecayPreDisinfection:
                {
                    boxModelResultModel.Volume_m3 = (boxModelModel.Discharge_m3_day * (boxModelModel.DischargeDuration_hour / 24) * (boxModelModel.FCPreDisinfection_MPN_100ml - boxModelModel.Concentration_MPN_100ml)) / boxModelModel.DecayRate_per_day / boxModelModel.Concentration_MPN_100ml;
                }
                break;

                default:
                    break;
                }
                boxModelResultModel.Surface_m2 = boxModelResultModel.Volume_m3 / boxModelModel.Depth_m;
                boxModelResultModel.Radius_m   = Math.Sqrt(2 * ((double)boxModelResultModel.Volume_m3) / boxModelModel.Depth_m / Math.PI);

                if (boxModelModel.FixLength == false && boxModelModel.FixWidth == false)
                {
                    boxModelResultModel.FixLength    = false;
                    boxModelResultModel.FixWidth     = false;
                    boxModelResultModel.RectLength_m = Math.Sqrt((double)boxModelResultModel.Volume_m3 / boxModelModel.Depth_m);
                    boxModelResultModel.RectWidth_m  = boxModelResultModel.RectLength_m;
                }
                else if (boxModelModel.FixLength == true)
                {
                    boxModelResultModel.FixLength = true;
                    boxModelResultModel.FixWidth  = false;

                    boxModelResultModel.RectLength_m = boxModelModel.Length_m;
                    boxModelResultModel.RectWidth_m  = boxModelResultModel.Volume_m3 / (boxModelModel.Depth_m * boxModelResultModel.RectLength_m);
                }
                else if (boxModelModel.FixWidth == true)
                {
                    boxModelResultModel.FixLength = false;
                    boxModelResultModel.FixWidth  = true;

                    boxModelResultModel.RectWidth_m  = boxModelModel.Width_m;
                    boxModelResultModel.RectLength_m = boxModelResultModel.Volume_m3 / (boxModelModel.Depth_m * boxModelResultModel.RectWidth_m);
                }

                BoxModelResultModel boxModelResultModelRet2 = new BoxModelResultModel();
                if (ShouldAdd)
                {
                    boxModelResultModelRet2 = _BoxModelResultService.PostAddBoxModelResultDB(boxModelResultModel);
                }
                else
                {
                    boxModelResultModelRet2 = _BoxModelResultService.PostUpdateBoxModelResultDB(boxModelResultModel);
                }

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

            return(GetBoxModelModelWithBoxModelIDDB(boxModelModel.BoxModelID));
        }