public MikeSourceStartEndModel GetMikeSourceStartEndModelWithMikeSourceStartEndIDDB(int MikeSourceStartEndID)
        {
            MikeSourceStartEndModel mikeSourceStartEndModel = (from c in db.MikeSourceStartEnds
                                                               where c.MikeSourceStartEndID == MikeSourceStartEndID
                                                               select new MikeSourceStartEndModel
            {
                Error = "",
                MikeSourceStartEndID = c.MikeSourceStartEndID,
                DBCommand = (DBCommandEnum)c.DBCommand,
                MikeSourceID = c.MikeSourceID,
                StartDateAndTime_Local = c.StartDateAndTime_Local,
                EndDateAndTime_Local = c.EndDateAndTime_Local,
                SourceFlowStart_m3_day = c.SourceFlowStart_m3_day,
                SourceFlowEnd_m3_day = c.SourceFlowEnd_m3_day,
                SourcePollutionStart_MPN_100ml = c.SourcePollutionStart_MPN_100ml,
                SourcePollutionEnd_MPN_100ml = c.SourcePollutionEnd_MPN_100ml,
                SourceSalinityStart_PSU = c.SourceSalinityStart_PSU,
                SourceSalinityEnd_PSU = c.SourceSalinityEnd_PSU,
                SourceTemperatureStart_C = c.SourceTemperatureStart_C,
                SourceTemperatureEnd_C = c.SourceTemperatureEnd_C,
                LastUpdateDate_UTC = c.LastUpdateDate_UTC,
                LastUpdateContactTVItemID = c.LastUpdateContactTVItemID
            }).FirstOrDefault <MikeSourceStartEndModel>();

            if (mikeSourceStartEndModel == null)
            {
                return(ReturnError(string.Format(ServiceRes.CouldNotFind_With_Equal_, ServiceRes.MikeSourceStartEnd, ServiceRes.MikeSourceStartEndID, MikeSourceStartEndID)));
            }

            return(mikeSourceStartEndModel);
        }
        // Fill
        public string FillMikeSourceStartEnd(MikeSourceStartEnd mikeSourceStartEnd, MikeSourceStartEndModel mikeSourceStartEndModel, ContactOK contactOK)
        {
            mikeSourceStartEnd.DBCommand                      = (int)mikeSourceStartEndModel.DBCommand;
            mikeSourceStartEnd.MikeSourceID                   = mikeSourceStartEndModel.MikeSourceID;
            mikeSourceStartEnd.EndDateAndTime_Local           = mikeSourceStartEndModel.EndDateAndTime_Local;
            mikeSourceStartEnd.StartDateAndTime_Local         = mikeSourceStartEndModel.StartDateAndTime_Local;
            mikeSourceStartEnd.SourceFlowEnd_m3_day           = mikeSourceStartEndModel.SourceFlowEnd_m3_day;
            mikeSourceStartEnd.SourceFlowStart_m3_day         = mikeSourceStartEndModel.SourceFlowStart_m3_day;
            mikeSourceStartEnd.SourcePollutionEnd_MPN_100ml   = mikeSourceStartEndModel.SourcePollutionEnd_MPN_100ml;
            mikeSourceStartEnd.SourcePollutionStart_MPN_100ml = mikeSourceStartEndModel.SourcePollutionStart_MPN_100ml;
            mikeSourceStartEnd.SourceSalinityEnd_PSU          = mikeSourceStartEndModel.SourceSalinityEnd_PSU;
            mikeSourceStartEnd.SourceSalinityStart_PSU        = mikeSourceStartEndModel.SourceSalinityStart_PSU;
            mikeSourceStartEnd.SourceTemperatureEnd_C         = mikeSourceStartEndModel.SourceTemperatureEnd_C;
            mikeSourceStartEnd.SourceTemperatureStart_C       = mikeSourceStartEndModel.SourceTemperatureStart_C;
            mikeSourceStartEnd.LastUpdateDate_UTC             = DateTime.UtcNow;
            if (contactOK == null)
            {
                mikeSourceStartEnd.LastUpdateContactTVItemID = 2;
            }
            else
            {
                mikeSourceStartEnd.LastUpdateContactTVItemID = contactOK.ContactTVItemID;
            }

            return("");
        }
        // Post
        public MikeSourceStartEndModel PostAddMikeSourceStartEndDB(MikeSourceStartEndModel mikeSourceStartEndModel)
        {
            string retStr = MikeSourceStartEndModelOK(mikeSourceStartEndModel);

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

            ContactOK contactOK = IsContactOK();

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

            MikeSourceStartEndModel mikeSourceStartEndModelExist = GetMikeSourceStartEndModelExist(mikeSourceStartEndModel);

            if (string.IsNullOrWhiteSpace(mikeSourceStartEndModelExist.Error))
            {
                return(ReturnError(string.Format(ServiceRes._AlreadyExists, ServiceRes.MikeSourceStartEnd)));
            }

            MikeSourceStartEnd mikeSourceStartEndNew = new MikeSourceStartEnd();

            retStr = FillMikeSourceStartEnd(mikeSourceStartEndNew, mikeSourceStartEndModel, contactOK);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(ReturnError(retStr));
            }

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

                LogModel logModel = _LogService.PostAddLogForObj("MikeSourceStartEnds", mikeSourceStartEndNew.MikeSourceStartEndID, LogCommandEnum.Add, mikeSourceStartEndNew);
                if (!string.IsNullOrWhiteSpace(logModel.Error))
                {
                    return(ReturnError(logModel.Error));
                }

                ts.Complete();
            }
            return(GetMikeSourceStartEndModelWithMikeSourceStartEndIDDB(mikeSourceStartEndNew.MikeSourceStartEndID));
        }
        public MikeSourceStartEndModel PostUpdateMikeSourceStartEndDB(MikeSourceStartEndModel mikeSourceStartEndModel)
        {
            string retStr = MikeSourceStartEndModelOK(mikeSourceStartEndModel);

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

            ContactOK contactOK = IsContactOK();

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

            MikeSourceStartEnd mikeSourceStartEndToUpdate = GetMikeSourceStartEndWithMikeSourceStartEndIDDB(mikeSourceStartEndModel.MikeSourceStartEndID);

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

            retStr = FillMikeSourceStartEnd(mikeSourceStartEndToUpdate, mikeSourceStartEndModel, 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("MikeSourceStartEnds", mikeSourceStartEndToUpdate.MikeSourceStartEndID, LogCommandEnum.Change, mikeSourceStartEndToUpdate);
                if (!string.IsNullOrWhiteSpace(logModel.Error))
                {
                    return(ReturnError(logModel.Error));
                }

                ts.Complete();
            }
            return(GetMikeSourceStartEndModelWithMikeSourceStartEndIDDB(mikeSourceStartEndToUpdate.MikeSourceStartEndID));
        }
        // Check
        public string MikeSourceStartEndModelOK(MikeSourceStartEndModel mikeSourceStartEndModel)
        {
            string retStr = FieldCheckNotZeroInt(mikeSourceStartEndModel.MikeSourceID, ServiceRes.MikeSourceID);

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

            retStr = FieldCheckNotNullDateTime(mikeSourceStartEndModel.StartDateAndTime_Local, ServiceRes.StartDateAndTime_Local);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = FieldCheckNotNullDateTime(mikeSourceStartEndModel.EndDateAndTime_Local, ServiceRes.EndDateAndTime_Local);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            if (mikeSourceStartEndModel.EndDateAndTime_Local < mikeSourceStartEndModel.StartDateAndTime_Local)
            {
                return(string.Format(ServiceRes._IsLaterThan_, ServiceRes.StartDateAndTime_Local, ServiceRes.EndDateAndTime_Local));
            }

            retStr = FieldCheckIfNotNullWithinRangeDouble(mikeSourceStartEndModel.SourceFlowStart_m3_day, ServiceRes.SourceFlowStart_m3_day, 0, 10000000000);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = FieldCheckIfNotNullWithinRangeDouble(mikeSourceStartEndModel.SourceFlowEnd_m3_day, ServiceRes.SourceFlowEnd_m3_day, 0, 10000000000);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = FieldCheckIfNotNullWithinRangeInt(mikeSourceStartEndModel.SourcePollutionStart_MPN_100ml, ServiceRes.SourcePollutionStart_MPN_100ml, 0, 30000000);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = FieldCheckIfNotNullWithinRangeInt(mikeSourceStartEndModel.SourcePollutionEnd_MPN_100ml, ServiceRes.SourcePollutionEnd_MPN_100ml, 0, 30000000);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = FieldCheckIfNotNullWithinRangeDouble(mikeSourceStartEndModel.SourceTemperatureStart_C, ServiceRes.SourceTemperatureStart_C, 0, 40);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = FieldCheckIfNotNullWithinRangeDouble(mikeSourceStartEndModel.SourceTemperatureEnd_C, ServiceRes.SourceTemperatureEnd_C, 0, 40);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = FieldCheckIfNotNullWithinRangeDouble(mikeSourceStartEndModel.SourceSalinityStart_PSU, ServiceRes.SourceSalinityStart_PSU, 0, 40);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = FieldCheckIfNotNullWithinRangeDouble(mikeSourceStartEndModel.SourceSalinityEnd_PSU, ServiceRes.SourceSalinityEnd_PSU, 0, 40);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

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

            return("");
        }