public IActionResult EppAddPrdctAttrbt(EppAddPrdAttrbt eppAddPrdAttrbt)
        {
            try
            {
                var grpprdct = _unitofWork.eppGrpprdctRepository.GetEppGrpprdct(eppAddPrdAttrbt.GrpNbr, eppAddPrdAttrbt.ProductId);
                if (grpprdct == null)
                {
                    return(NotFound("Either  Group no and product is not available  "));
                }
                //
                var eppPrdctattrbt = _unitofWork.eppPrdctattrbtRepository.Find(x => x.GrpprdctId == grpprdct.GrpprdctId).Result;
                if (eppPrdctattrbt.Count == 0)
                {
                    List <EppPrdctattrbt> EppPrdctattrbts = new List <EppPrdctattrbt>();
                    foreach (var item in eppAddPrdAttrbt.EppPrdAttrFields)
                    {
                        var data = _unitofWork.eppAttributeRepository.GetAttrId(item.DbAttrNm);
                        if (data != null)
                        {
                            var prdctAttrbtId = Helper.GetRandomNumber();
                            EppPrdctattrbts.Add(new EppPrdctattrbt
                            {
                                PrdctAttrbtId = prdctAttrbtId,
                                AttrId        = data.AttrId,
                                GrpprdctId    = grpprdct.GrpprdctId,
                                ClmnOrdr      = long.Parse(item.ClmnOrdr),
                                RqdFlg        = item.RqdFlg == true ? 'Y' : 'N',
                                CrtdBy        = "",
                            });
                        }
                    }
                    _unitofWork.eppPrdctattrbtRepository.AddRange(EppPrdctattrbts);
                }

                var id = _unitofWork.Complete().Result;


                return(Ok(id));
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }
        public IActionResult EppEditPrdctAttrbt(EppAddPrdAttrbt eppAddPrdAttrbt)
        {
            try
            {
                long grpprdctId = long.Parse(eppAddPrdAttrbt.GrpprdctId);
                List <EppPrdctattrbt> EppPrdctattrbts = new List <EppPrdctattrbt>();
                foreach (var item in eppAddPrdAttrbt.EppPrdAttrFields)
                {
                    //var data = _unitofWork.eppAttributeRepository.GetAttrId(item.DbAttrNm);
                    // if (data != null)
                    // {

                    EppPrdctattrbts.Add(new EppPrdctattrbt
                    {
                        AttrId        = long.Parse(item.AttrId),
                        GrpprdctId    = grpprdctId,
                        ClmnOrdr      = long.Parse(item.ClmnOrdr),
                        RqdFlg        = item.RqdFlg == true ? 'Y' : 'N',
                        PrdctAttrbtId = long.Parse(item.PrdctAttrbtId),
                        CrtdBy        = "",
                    });

                    //}
                }

                foreach (var data in EppPrdctattrbts)
                {
                    if (data.PrdctAttrbtId != 0)
                    {
                        var modifiabledata = _unitofWork.eppPrdctattrbtRepository.SingleOrDefault(x => x.PrdctAttrbtId == data.PrdctAttrbtId).Result;
                        if (modifiabledata != null)
                        {
                            modifiabledata.ClmnOrdr = data.ClmnOrdr;
                            modifiabledata.RqdFlg   = data.RqdFlg;
                            modifiabledata.AttrId   = data.AttrId;
                            _unitofWork.eppPrdctattrbtRepository.Update(modifiabledata);
                        }
                    }

                    else
                    {
                        data.PrdctAttrbtId = Helper.GetRandomNumber();
                        _unitofWork.eppPrdctattrbtRepository.Add(data);
                    }
                }
                var result = _unitofWork.Complete().Result;
                // deleted rows
                List <EppPrdctattrbt> eppPrdctattrbts_1 = new List <EppPrdctattrbt>();
                var deletableDataList = _unitofWork.eppPrdctattrbtRepository.Find(x => x.GrpprdctId == grpprdctId).Result;
                foreach (var data in deletableDataList)
                {
                    var bfound = EppPrdctattrbts.Find(x => x.PrdctAttrbtId == data.PrdctAttrbtId);
                    if (bfound == null)
                    {
                        eppPrdctattrbts_1.Add(data);
                        // _unitofWork.eppPrdctattrbtRepository.Remove(data);
                    }
                }

                if (eppPrdctattrbts_1.Count > 0)
                {
                    _unitofWork.eppPrdctattrbtRepository.RemoveRange(eppPrdctattrbts_1);
                    var id = _unitofWork.Complete().Result;
                }



                return(Ok("Custom layout template updated successfully!"));
            } catch (Exception ex)
            {
                throw ex;
            }
        }