public int UpdateWellClassification2(WellClassification wellClassification)
        {
            try
            {
                if (wellClassification == null || wellClassification.WellClassificationId < 1)
                {
                    return(-2);
                }
                using (var db = new DPRDataMigrationEngineDBEntities())
                {
                    var entityToUpdate = db.WellClassifications.ToList().Find(m => m.WellClassificationId == wellClassification.WellClassificationId);
                    if (entityToUpdate == null || entityToUpdate.WellClassificationId < 1)
                    {
                        return(-2);
                    }

                    entityToUpdate.WellClassId     = wellClassification.WellClassId;
                    entityToUpdate.WellId          = wellClassification.WellId;
                    db.Entry(entityToUpdate).State = EntityState.Modified;
                    return(db.SaveChanges());
                }
            }
            catch (Exception ex)
            {
                ErrorLogger.LogEror(ex.StackTrace, ex.Source, ex.Message);
                return(0);
            }
        }
        public int AddWellClassificationCheckDuplicate(WellClassification wellClassification)
        {
            try
            {
                if (wellClassification == null)
                {
                    return(-2);
                }
                using (var db = new DPRDataMigrationEngineDBEntities())
                {
                    if (db.WellClassifications.Any())
                    {
                        if (db.WellClassifications.Count(m => m.WellClassId == wellClassification.WellClassId && m.WellId == wellClassification.WellId) > 0)
                        {
                            return(-3);
                        }
                    }

                    var txx = db.WellClassifications.Add(wellClassification);
                    db.SaveChanges();
                    return(txx.WellClassificationId);
                }
            }
            catch (Exception ex)
            {
                ErrorLogger.LogEror(ex.StackTrace, ex.Source, ex.Message);
                return(0);
            }
        }
        public ActionResult EditWellClassification(int id)
        {
            var wellClassification = new WellClassification();

            try
            {
                if (id < 1)
                {
                    wellClassification.Error     = "Invalid Selection!";
                    wellClassification.ErrorCode = -1;
                    return(Json(wellClassification, JsonRequestBehavior.AllowGet));
                }

                var myViewObj = new WellClassificationServices().GetWellClassification(id);

                if (myViewObj == null || myViewObj.WellClassificationId < 1)
                {
                    wellClassification.Error     = "Well Classification  Information could not be retrieved.";
                    wellClassification.ErrorCode = -1;
                    return(Json(wellClassification, JsonRequestBehavior.AllowGet));
                }
                Session["_wellClassification"] = myViewObj;
                myViewObj.ErrorCode            = myViewObj.WellClassificationId;
                return(Json(myViewObj, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                ErrorLogger.LogEror(ex.StackTrace, ex.Source, ex.Message);
                wellClassification.Error     = "An unknown error was Well Classification  Information could not be retrieved.";
                wellClassification.ErrorCode = -1;
                return(Json(wellClassification, JsonRequestBehavior.AllowGet));
            }
        }
        private static GenericValidator ValidateControl(WellClassification model)
        {
            var gVal = new GenericValidator();

            try
            {
                if (model.WellClassId < 1)
                {
                    gVal.Error = "Please select a valid Well Class";
                    gVal.Code  = 0;
                    return(gVal);
                }

                if (model.WellId < 1)
                {
                    gVal.Error = "Please select a valid Well information";
                    gVal.Code  = 0;
                    return(gVal);
                }

                gVal.Code = 1;
                return(gVal);
            }
            catch (Exception)
            {
                gVal.Error = "Process validation failed. Please supply all required entries and try again.";
                gVal.Code  = 0;
                return(gVal);
            }
        }
        public ActionResult DeleteWellClassification(int id)
        {
            var wellClassification = new WellClassification();

            try
            {
                if (id < 1)
                {
                    wellClassification.Error     = "Invalid Selection";
                    wellClassification.ErrorCode = 0;
                    return(Json(wellClassification, JsonRequestBehavior.AllowGet));
                }
                if (new WellClassificationServices().DeleteWellClassificationCheckReferences(id))
                {
                    wellClassification.Error     = "Well Classification  Information was successfully deleted.";
                    wellClassification.ErrorCode = 1;
                    return(Json(wellClassification, JsonRequestBehavior.AllowGet));
                }

                wellClassification.Error     = "Process Failed! Please try again later";
                wellClassification.ErrorCode = 0;
                return(Json(wellClassification, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                ErrorLogger.LogEror(ex.StackTrace, ex.Source, ex.Message);
                wellClassification.Error     = "An unknown error was encountered. Please contact the Administrator or try again later.";
                wellClassification.ErrorCode = 0;
                return(Json(wellClassification, JsonRequestBehavior.AllowGet));
            }
        }
        public ActionResult AddWellClassification(WellClassification wellClassification)
        {
            ModelState.Clear();
            ViewBag.LoadStatus = "0";
            try
            {
                if (!ModelState.IsValid)
                {
                    wellClassification.Error     = "Please supply all required entries and try again";
                    wellClassification.ErrorCode = -1;
                    return(Json(wellClassification, JsonRequestBehavior.AllowGet));
                }

                var wx = ValidateControl(wellClassification);

                if (wx.Code < 1)
                {
                    wellClassification.Error     = wx.Error;
                    wellClassification.ErrorCode = -1;
                    return(Json(wellClassification, JsonRequestBehavior.AllowGet));
                }

                var k = new WellClassificationServices().AddWellClassificationCheckDuplicate(wellClassification);
                if (k < 1)
                {
                    if (k == -3)
                    {
                        wellClassification.Error     = "This Well has already been Classified";
                        wellClassification.ErrorCode = -3;
                        return(Json(wellClassification, JsonRequestBehavior.AllowGet));
                    }

                    wellClassification.Error     = "Process Failed! Please contact the Admin or try again later";
                    wellClassification.ErrorCode = 0;
                    return(Json(wellClassification, JsonRequestBehavior.AllowGet));
                }

                wellClassification.Error                = "Well information was successfully Classified";
                wellClassification.ErrorCode            = 1;
                wellClassification.WellClassificationId = k;
                return(Json(wellClassification, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                ErrorLogger.LogEror(ex.StackTrace, ex.Source, ex.Message);
                wellClassification.Error     = "An unknown error was encountered. Request could not be serviced. Please try again later.";
                wellClassification.ErrorCode = 0;
                return(Json(wellClassification, JsonRequestBehavior.AllowGet));
            }
        }
        public int AddWellCheckDuplicate(Well well)
        {
            try
            {
                if (well == null)
                {
                    return(-2);
                }
                using (var db = new DPRDataMigrationEngineDBEntities())
                {
                    if (db.Wells.Any())
                    {
                        if (db.Wells.Count(m => m.Name.ToLower().Replace(" ", string.Empty) == well.Name.ToLower().Replace(" ", string.Empty)) > 0)
                        {
                            return(-3);
                        }
                    }

                    var processedItem = db.Wells.Add(well);
                    db.SaveChanges();

                    if (db.WellClassifications.Any())
                    {
                        if (db.WellClassifications.Count(m => m.WellId == processedItem.WellId) > 0)
                        {
                            return(-4);
                        }
                    }
                    var newWellClassification = new WellClassification
                    {
                        WellClassId = well.WellClassId,
                        WellId      = processedItem.WellId
                    };
                    var classidication = new WellClassificationServices().AddWellClassificationCheckDuplicate(newWellClassification);

                    if (classidication < 1)
                    {
                        return(-2);
                    }

                    return(processedItem.WellId);
                }
            }
            catch (Exception ex)
            {
                ErrorLogger.LogEror(ex.StackTrace, ex.Source, ex.Message);
                return(0);
            }
        }
        public int CreateWellClassAddClassification(string wellClassName, int wellId)
        {
            try
            {
                using (var db = new DPRDataMigrationEngineDBEntities())
                {
                    var myObj = db.WellClasses.Where(s => s.Name.ToLower().Replace(" ", string.Empty).Trim() == wellClassName.ToLower().Replace(" ", string.Empty).Trim()).ToList();
                    if (!myObj.Any())
                    {
                        var wellClass = new WellClass {
                            Name = wellClassName.Trim()
                        };
                        var processedWellClass = db.WellClasses.Add(wellClass);
                        db.SaveChanges();
                        if (processedWellClass.WellClassId > 0)
                        {
                            var newWellClassification = new WellClassification
                            {
                                WellClassId = processedWellClass.WellClassId,
                                WellId      = wellId
                            };

                            var processedWellClassification = new WellClassificationServices().AddWellClassificationCheckDuplicate(newWellClassification);
                            return(processedWellClassification);
                        }
                    }

                    var edt = new WellClassification
                    {
                        WellClassId = myObj[0].WellClassId,
                        WellId      = wellId
                    };

                    var dsx = new WellClassificationServices().AddWellClassificationCheckDuplicate(edt);
                    return(dsx);
                }
            }
            catch (Exception ex)
            {
                ErrorLogger.LogEror(ex.StackTrace, ex.Source, ex.Message);
                return(0);
            }
        }
        public int UpdateWellCheckDuplicate(Well well)
        {
            try
            {
                if (well == null)
                {
                    return(-2);
                }
                using (var db = new DPRDataMigrationEngineDBEntities())
                {
                    if (db.Wells.Any())
                    {
                        if (db.Wells.Count(m => m.Name.ToLower().Replace(" ", string.Empty) == well.Name.ToLower().Replace(" ", string.Empty) && m.WellId != well.WellId && m.FieldId == well.FieldId) > 0)
                        {
                            return(-3);
                        }
                    }

                    var newWellClassification = new WellClassification
                    {
                        WellClassId          = well.WellClassId,
                        WellId               = well.WellId,
                        WellClassificationId = well.WellClassificationId
                    };

                    var classidicationUpdate = new WellClassificationServices().UpdateWellClassification2(newWellClassification);

                    if (classidicationUpdate < 1)
                    {
                        return(-2);
                    }

                    db.Wells.Attach(well);
                    db.Entry(well).State = EntityState.Modified;
                    return(db.SaveChanges());
                }
            }
            catch (Exception ex)
            {
                ErrorLogger.LogEror(ex.StackTrace, ex.Source, ex.Message);
                return(0);
            }
        }
 public int UpdateWellClassification(WellClassification wellClassification)
 {
     try
     {
         if (wellClassification == null)
         {
             return(-2);
         }
         using (var db = new DPRDataMigrationEngineDBEntities())
         {
             var txx = db.WellClassifications.Attach(wellClassification);
             db.Entry(wellClassification).State = EntityState.Modified;
             db.SaveChanges();
             return(txx.WellClassificationId);
         }
     }
     catch (Exception ex)
     {
         ErrorLogger.LogEror(ex.StackTrace, ex.Source, ex.Message);
         return(0);
     }
 }
        public ActionResult EditWellClassification(WellClassification wellClassification)
        {
            ModelState.Clear();
            ViewBag.LoadStatus = "0";
            try
            {
                if (Session["_wellClassification"] == null)
                {
                    wellClassification.Error     = "Session has expired";
                    wellClassification.ErrorCode = 0;
                    return(Json(wellClassification, JsonRequestBehavior.AllowGet));
                }

                var oldWellClassification = Session["_wellClassification"] as WellClassification;

                if (oldWellClassification == null || oldWellClassification.WellClassificationId < 1)
                {
                    wellClassification.Error     = "Session has expired";
                    wellClassification.ErrorCode = 0;
                    return(Json(wellClassification, JsonRequestBehavior.AllowGet));
                }

                if (!ModelState.IsValid)
                {
                    wellClassification.Error     = "Please supply all required wellClassifications and try again";
                    wellClassification.ErrorCode = -1;
                    return(Json(wellClassification, JsonRequestBehavior.AllowGet));
                }

                var wx = ValidateControl(wellClassification);

                if (wx.Code < 1)
                {
                    wellClassification.Error     = wx.Error;
                    wellClassification.ErrorCode = -1;
                    return(Json(wellClassification, JsonRequestBehavior.AllowGet));
                }

                oldWellClassification.WellId      = wellClassification.WellId;
                oldWellClassification.WellClassId = wellClassification.WellClassId;

                var k = new WellClassificationServices().UpdateWellClassification(oldWellClassification);
                if (k < 1)
                {
                    wellClassification.Error     = "Process Failed! Please contact the Admin or try again later";
                    wellClassification.ErrorCode = 0;
                    return(Json(wellClassification, JsonRequestBehavior.AllowGet));
                }

                wellClassification.Error     = "Well Classification  Information was successfully updated";
                wellClassification.ErrorCode = 1;
                return(Json(wellClassification, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                ErrorLogger.LogEror(ex.StackTrace, ex.Source, ex.Message);
                wellClassification.Error     = "An unknown error was encountered. Request could not be serviced. Please try again later.";
                wellClassification.ErrorCode = 0;
                return(Json(wellClassification, JsonRequestBehavior.AllowGet));
            }
        }