public ValidationMsg DeleteGradeRangeInfo(string GradeRange, int userId)
        {
            try
            {
                int GradeRangeId = Convert.ToInt16(GradeRange);
                var result       = (from temp in _context.Sys_GradeRangeFormat where temp.GradeRangeID == GradeRangeId select temp).ToList();
                foreach (var item in result)
                {
                    Sys_GradeRangeFormat objRangeFormat = _context.Sys_GradeRangeFormat.Where(ob => ob.FormatID == item.FormatID).FirstOrDefault();
                    objRangeFormat.IsDelete   = true;
                    objRangeFormat.ModifiedBy = userId;
                }

                Sys_GradeRange objGradRange = _context.Sys_GradeRange.Where(ob => ob.GradeRangeID == GradeRangeId).FirstOrDefault();
                objGradRange.IsDelete   = true;
                objGradRange.ModifiedBy = userId;
                _context.SaveChanges();

                _vmMsg.Type = Enums.MessageType.Success;
                _vmMsg.Msg  = "Deleted Successfully.";
            }
            catch (Exception ex)
            {
                _vmMsg.Type = Enums.MessageType.Error;
                _vmMsg.Msg  = "Delete Faild.";
            }
            return(_vmMsg);
        }
        public ValidationMsg Create(SysGradeRange objSysGradeRange)
        {
            var vmMsg = new ValidationMsg();

            try
            {
                var tblSysGradeRange = new Sys_GradeRange
                {
                    GradeRangeID   = objSysGradeRange.GradeRangeID,
                    GradeRangeName = objSysGradeRange.GradeRangeName,
                    Description    = objSysGradeRange.Description,
                    IsActive       = objSysGradeRange.IsActive,
                    IsDelete       = objSysGradeRange.IsDelete,
                    SetOn          = DateTime.Now,
                    SetBy          = 25,
                    ModifiedOn     = DateTime.Now,
                    ModifiedBy     = 25,
                    IPAddress      = string.Empty
                };

                _context.Sys_GradeRange.Add(tblSysGradeRange);
                _context.SaveChanges();

                vmMsg.Type = Enums.MessageType.Success;
                vmMsg.Msg  = "Save Successfully.";
            }
            catch (Exception ex)
            {
                vmMsg.Type = Enums.MessageType.Error;
                vmMsg.Msg  = "Failed to update.";
            }

            return(vmMsg);
        }
        public ValidationMsg SaveGradeRange(GradeRangeTitle model, int usrId)
        {
            try
            {
                if (model.GradeRangeId == 0)
                {
                    Sys_GradeRange obGradeRange = new Sys_GradeRange();
                    obGradeRange.GradeRangeName = model.GradeRangeName;
                    obGradeRange.Description    = model.GradeDescription;
                    obGradeRange.IsActive       = Convert.ToBoolean(model.IsActiveGradeRange);
                    obGradeRange.IsDelete       = false;
                    obGradeRange.SetOn          = DateTime.Now;
                    obGradeRange.SetBy          = usrId;
                    obGradeRange.ModifiedOn     = DateTime.Now;
                    obGradeRange.ModifiedBy     = usrId;
                    _context.Sys_GradeRange.Add(obGradeRange);

                    int id = obGradeRange.GradeRangeID;
                    foreach (var item in model.gradeData)
                    {
                        Sys_GradeRangeFormat obRangeFormat = new Sys_GradeRangeFormat();
                        obRangeFormat.GradeRangeID = Convert.ToInt16(id);
                        obRangeFormat.GradeIDFrom  = Convert.ToInt16(item.GradeIDFrom);
                        obRangeFormat.GradeIDTo    = Convert.ToInt16(item.GradeIDTo);
                        obRangeFormat.Description  = item.Description;
                        obRangeFormat.IsActive     = Convert.ToBoolean(item.IsActive);
                        obRangeFormat.IsDelete     = false;
                        obRangeFormat.SetOn        = DateTime.Now;
                        obRangeFormat.ModifiedOn   = DateTime.Now;
                        obRangeFormat.ModifiedBy   = usrId;
                        _context.Sys_GradeRangeFormat.Add(obRangeFormat);
                    }
                    _context.SaveChanges();
                    _vmMsg.Type = Enums.MessageType.Success;
                    _vmMsg.Msg  = "Saved Successfully.";
                }

                else
                {
                    Sys_GradeRange isGradeRangeExist = (from temp in _context.Sys_GradeRange where temp.GradeRangeID == model.GradeRangeId select temp).FirstOrDefault();
                    isGradeRangeExist.GradeRangeName = model.GradeRangeName;
                    isGradeRangeExist.Description    = model.GradeDescription;
                    isGradeRangeExist.IsActive       = model.IsActiveGradeRange;
                    isGradeRangeExist.IsDelete       = false;
                    isGradeRangeExist.ModifiedOn     = DateTime.Now;
                    isGradeRangeExist.ModifiedBy     = usrId;
                    _context.SaveChanges();

                    var result = (from temp in _context.Sys_GradeRangeFormat where temp.GradeRangeID == isGradeRangeExist.GradeRangeID select temp).ToList();
                    foreach (var item in result)
                    {
                        _context.Sys_GradeRangeFormat.Remove(item);
                    }


                    foreach (var item in model.gradeData)
                    {
                        Sys_GradeRangeFormat obRangeFormat = new Sys_GradeRangeFormat();
                        obRangeFormat.GradeRangeID = Convert.ToInt16(isGradeRangeExist.GradeRangeID);
                        obRangeFormat.GradeIDFrom  = Convert.ToInt16(item.GradeIDFrom);
                        obRangeFormat.GradeIDTo    = Convert.ToInt16(item.GradeIDTo);
                        obRangeFormat.Description  = item.Description;
                        obRangeFormat.IsActive     = item.IsActive;
                        obRangeFormat.IsDelete     = false;
                        obRangeFormat.SetOn        = DateTime.Now;
                        obRangeFormat.SetBy        = usrId;
                        obRangeFormat.ModifiedOn   = DateTime.Now;
                        obRangeFormat.ModifiedBy   = usrId;
                        _context.Sys_GradeRangeFormat.Add(obRangeFormat);
                    }
                    _context.SaveChanges();
                    _vmMsg.Type = Enums.MessageType.Error;
                    _vmMsg.Msg  = "Updated Successfully.";
                }
            }
            catch (Exception ex)
            {
                _vmMsg.Type = Enums.MessageType.Error;
                _vmMsg.Msg  = "Save Faild.";
            }



            return(_vmMsg);
        }