public LabSheetTubeMPNDetailModel GetLabSheetTubeMPNDetailModelWithLabSheetTubeMPNDetailIDDB(int LabSheetTubeMPNDetailID)
        {
            LabSheetTubeMPNDetailModel labSheetTubeMPNDetailModel = (from c in db.LabSheetTubeMPNDetails
                                                                     where c.LabSheetTubeMPNDetailID == LabSheetTubeMPNDetailID
                                                                     orderby c.Ordinal
                                                                     select new LabSheetTubeMPNDetailModel
            {
                Error = "",
                LabSheetTubeMPNDetailID = c.LabSheetTubeMPNDetailID,
                DBCommand = (DBCommandEnum)c.DBCommand,
                LabSheetDetailID = c.LabSheetDetailID,
                Ordinal = c.Ordinal,
                MWQMSiteTVItemID = c.MWQMSiteTVItemID,
                SampleDateTime = c.SampleDateTime,
                MPN = c.MPN,
                Tube10 = c.Tube10,
                Tube1_0 = c.Tube1_0,
                Tube0_1 = c.Tube0_1,
                Salinity = (float)c.Salinity,
                Temperature = (float)c.Temperature,
                ProcessedBy = c.ProcessedBy,
                SampleType = (SampleTypeEnum)c.SampleType,
                SiteComment = c.SiteComment,
                LastUpdateDate_UTC = c.LastUpdateDate_UTC,
                LastUpdateContactTVItemID = c.LastUpdateContactTVItemID,
            }).FirstOrDefault <LabSheetTubeMPNDetailModel>();

            if (labSheetTubeMPNDetailModel == null)
            {
                return(ReturnError(string.Format(ServiceRes.CouldNotFind_With_Equal_, ServiceRes.LabSheetTubeMPNDetail, ServiceRes.LabSheetTubeMPNDetailID, LabSheetTubeMPNDetailID)));
            }

            return(labSheetTubeMPNDetailModel);
        }
        // Post
        public LabSheetTubeMPNDetailModel PostAddLabSheetTubeMPNDetailDB(LabSheetTubeMPNDetailModel labSheetTubeMPNDetailModel)
        {
            string retStr = LabSheetTubeMPNDetailModelOK(labSheetTubeMPNDetailModel);

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

            ContactOK contactOK = IsContactOK();

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

            LabSheetTubeMPNDetailModel labSheetTubeMPNDetailModelExist = GetLabSheetTubeMPNDetailModelExistDB(labSheetTubeMPNDetailModel);

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

            LabSheetTubeMPNDetail labSheetTubeMPNDetailNew = new LabSheetTubeMPNDetail();

            retStr = FillLabSheetTubeMPNDetail(labSheetTubeMPNDetailNew, labSheetTubeMPNDetailModel, contactOK);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(ReturnError(retStr));
            }

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

                LogModel logModel = _LogService.PostAddLogForObj("LabSheetTubeMPNDetails", labSheetTubeMPNDetailNew.LabSheetTubeMPNDetailID, LogCommandEnum.Add, labSheetTubeMPNDetailNew);
                if (!string.IsNullOrWhiteSpace(logModel.Error))
                {
                    return(ReturnError(logModel.Error));
                }

                ts.Complete();
            }

            return(GetLabSheetTubeMPNDetailModelWithLabSheetTubeMPNDetailIDDB(labSheetTubeMPNDetailNew.LabSheetTubeMPNDetailID));
        }
        public LabSheetTubeMPNDetailModel PostUpdateLabSheetTubeMPNDetailDB(LabSheetTubeMPNDetailModel labSheetTubeMPNDetailModel)
        {
            string retStr = LabSheetTubeMPNDetailModelOK(labSheetTubeMPNDetailModel);

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

            ContactOK contactOK = IsContactOK();

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

            LabSheetTubeMPNDetail labSheetTubeMPNDetailToUpdate = GetLabSheetTubeMPNDetailWithLabSheetTubeMPNDetailIDDB(labSheetTubeMPNDetailModel.LabSheetTubeMPNDetailID);

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

            retStr = FillLabSheetTubeMPNDetail(labSheetTubeMPNDetailToUpdate, labSheetTubeMPNDetailModel, 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("LabSheetTubeMPNDetails", labSheetTubeMPNDetailToUpdate.LabSheetTubeMPNDetailID, LogCommandEnum.Change, labSheetTubeMPNDetailToUpdate);
                if (!string.IsNullOrWhiteSpace(logModel.Error))
                {
                    return(ReturnError(logModel.Error));
                }

                ts.Complete();
            }
            return(GetLabSheetTubeMPNDetailModelWithLabSheetTubeMPNDetailIDDB(labSheetTubeMPNDetailToUpdate.LabSheetTubeMPNDetailID));
        }
        // Check
        public string LabSheetTubeMPNDetailModelOK(LabSheetTubeMPNDetailModel labSheetTubeMPNDetailModel)
        {
            string retStr = FieldCheckNotZeroInt(labSheetTubeMPNDetailModel.LabSheetDetailID, ServiceRes.LabSheetDetailID);

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

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

            retStr = FieldCheckNotZeroInt(labSheetTubeMPNDetailModel.MWQMSiteTVItemID, ServiceRes.MWQMSiteTVItemID);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            if (labSheetTubeMPNDetailModel.SampleDateTime != null)
            {
                retStr = FieldCheckNotNullDateTime(labSheetTubeMPNDetailModel.SampleDateTime, ServiceRes.SampleDateTime);
                if (!string.IsNullOrWhiteSpace(retStr))
                {
                    return(retStr);
                }
            }

            if (labSheetTubeMPNDetailModel.MPN != -999)
            {
                retStr = FieldCheckIfNotNullWithinRangeDouble(labSheetTubeMPNDetailModel.MPN, ServiceRes.MPN, 1, 100000000);
                if (!string.IsNullOrWhiteSpace(retStr))
                {
                    return(retStr);
                }
            }

            retStr = FieldCheckIfNotNullWithinRangeInt(labSheetTubeMPNDetailModel.Tube10, ServiceRes.Tube10, 0, 5);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = FieldCheckIfNotNullWithinRangeInt(labSheetTubeMPNDetailModel.Tube1_0, ServiceRes.Tube1_0, 0, 5);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = FieldCheckIfNotNullWithinRangeInt(labSheetTubeMPNDetailModel.Tube0_1, ServiceRes.Tube0_1, 0, 5);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

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

            retStr = FieldCheckIfNotNullWithinRangeDouble(labSheetTubeMPNDetailModel.Temperature, ServiceRes.Temperature, -12, 40);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = FieldCheckIfNotNullMaxLengthString(labSheetTubeMPNDetailModel.ProcessedBy, ServiceRes.ProcessedBy, 10);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = _BaseEnumService.SampleTypeOK(labSheetTubeMPNDetailModel.SampleType);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = FieldCheckIfNotNullMaxLengthString(labSheetTubeMPNDetailModel.SiteComment, ServiceRes.SiteComment, 250);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

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

            return("");
        }
        // Fill
        public string FillLabSheetTubeMPNDetail(LabSheetTubeMPNDetail labSheetTubeMPNDetail, LabSheetTubeMPNDetailModel labSheetTubeMPNDetailModel, ContactOK contactOK)
        {
            labSheetTubeMPNDetail.DBCommand = (int)labSheetTubeMPNDetailModel.DBCommand;
            labSheetTubeMPNDetail.LabSheetTubeMPNDetailID = labSheetTubeMPNDetailModel.LabSheetTubeMPNDetailID;
            labSheetTubeMPNDetail.LabSheetDetailID        = labSheetTubeMPNDetailModel.LabSheetDetailID;
            labSheetTubeMPNDetail.Ordinal          = labSheetTubeMPNDetailModel.Ordinal;
            labSheetTubeMPNDetail.MWQMSiteTVItemID = labSheetTubeMPNDetailModel.MWQMSiteTVItemID;
            labSheetTubeMPNDetail.SampleDateTime   = labSheetTubeMPNDetailModel.SampleDateTime;
            labSheetTubeMPNDetail.MPN                = labSheetTubeMPNDetailModel.MPN;
            labSheetTubeMPNDetail.Tube10             = labSheetTubeMPNDetailModel.Tube10;
            labSheetTubeMPNDetail.Tube1_0            = labSheetTubeMPNDetailModel.Tube1_0;
            labSheetTubeMPNDetail.Tube0_1            = labSheetTubeMPNDetailModel.Tube0_1;
            labSheetTubeMPNDetail.Salinity           = labSheetTubeMPNDetailModel.Salinity;
            labSheetTubeMPNDetail.Temperature        = labSheetTubeMPNDetailModel.Temperature;
            labSheetTubeMPNDetail.ProcessedBy        = labSheetTubeMPNDetailModel.ProcessedBy;
            labSheetTubeMPNDetail.SampleType         = (int)labSheetTubeMPNDetailModel.SampleType;
            labSheetTubeMPNDetail.SiteComment        = labSheetTubeMPNDetailModel.SiteComment;
            labSheetTubeMPNDetail.LastUpdateDate_UTC = DateTime.UtcNow;
            if (contactOK == null)
            {
                labSheetTubeMPNDetail.LastUpdateContactTVItemID = 2;
            }
            else
            {
                labSheetTubeMPNDetail.LastUpdateContactTVItemID = contactOK.ContactTVItemID;
            }

            return("");
        }