public async Task <IActionResult> AddAndEditCheckListJobAssignedResource(CheckListJobAssignedResourceMasterCustom data)
        {
            #region Authorization code
            var    identity = HttpContext.User.Identity as ClaimsIdentity;
            string id       = "";
            string role     = "";
            if (identity != null)
            {
                IEnumerable <Claim> claims = identity.Claims;
                // or
                id   = identity.Claims.Where(m => m.Type == ClaimTypes.Sid).Select(m => m.Value).FirstOrDefault();
                role = identity.Claims.Where(m => m.Type == ClaimTypes.Role).Select(m => m.Value).FirstOrDefault();
            }
            long userId = Convert.ToInt32(id);
            #endregion
            //calling CheckListJobAssignedResourceDAL busines layer
            CommonResponse response = new CommonResponse();
            response = checkListJobAssignedResourceMaster.AddAndEditCheckListJobAssignedResource(data, userId);

            return(Ok(response));
        }
        public CommonResponse AddAndEditReAssignedCheckListJobResources(CheckListJobAssignedResourceMasterCustom data, long userId = 0)
        {
            CommonResponse obj = new CommonResponse();

            try
            {
                var res = db.ReAssignedcheckListJobResourcesOperator.Where(m => m.CheckListJobMasterId == data.checkListJobMasterId && m.CheckListJobGroupId == data.checkListJobGroupId && m.IsDeleted == false).FirstOrDefault();
                if (res == null)
                {
                    try
                    {
                        ReAssignedcheckListJobResourcesOperator item = new ReAssignedcheckListJobResourcesOperator();

                        var assignOp = db.CheckListJobAssignedResourceMaster.Where(m => m.CheckListJobMasterId == data.checkListJobMasterId && m.CheckListJobGroupId == data.checkListJobGroupId && m.IsDeleted == false).FirstOrDefault();

                        if (assignOp != null)
                        {
                            item.SecondaryResource            = assignOp.PrimaryResource;
                            item.ChecklistJobFirstOperatorIds = assignOp.PrimaryResource;
                        }

                        //var mainOp = db.CheckListJobMaster.Where(m => m.CheckListJobId == data.checkListJobMasterId).FirstOrDefault();
                        //if (mainOp!=null)
                        //{
                        //    item.ChecklistJobFirstOperatorIds= mainOp.as


                        //}
                        item.IsReassigned             = 1;
                        item.CheckListJobMasterId     = data.checkListJobMasterId;
                        item.CheckListJobGroupId      = data.checkListJobGroupId;
                        item.PrimaryResource          = data.primaryResource;
                        item.PrimaryResourceToAllFlag = data.primaryResourceToAllFlag;
                        //item.SecondaryResource = data.secondaryResource;
                        item.SecondaryResourceToAllFlag = data.secondaryResourceToAllFlag;

                        item.IsActive  = true;
                        item.IsDeleted = false;
                        item.CreatedBy = userId;
                        item.CreatedOn = DateTime.Now;
                        db.ReAssignedcheckListJobResourcesOperator.Add(item);
                        db.SaveChanges();

                        //update FirstAssign tbl
                        assignOp.PrimaryResource = data.primaryResource;
                        db.SaveChanges();
                        obj.response = ResourceResponse.AddedSucessfully;
                        obj.isStatus = true;
                    }
                    catch (Exception ex)
                    {
                        log.Error(ex); if (ex.InnerException != null)
                        {
                            log.Error(ex.InnerException.ToString());
                        }
                        obj.response = ResourceResponse.ExceptionMessage;
                        obj.isStatus = false;
                    }
                }
                else
                {
                    try
                    {
                        var assignOp = db.CheckListJobAssignedResourceMaster.Where(m => m.CheckListJobMasterId == data.checkListJobMasterId && m.CheckListJobGroupId == data.checkListJobGroupId && m.IsDeleted == false).FirstOrDefault();

                        if (assignOp != null)
                        {
                            res.SecondaryResource = assignOp.PrimaryResource;
                        }



                        res.CheckListJobMasterId     = data.checkListJobMasterId;
                        res.CheckListJobGroupId      = data.checkListJobGroupId;
                        res.PrimaryResource          = data.primaryResource;
                        res.PrimaryResourceToAllFlag = data.primaryResourceToAllFlag;


                        //res.SecondaryResource = data.secondaryResource;
                        res.SecondaryResourceToAllFlag = data.secondaryResourceToAllFlag;
                        res.ModifiedBy = userId;
                        res.ModifiedOn = DateTime.Now;
                        db.SaveChanges();

                        assignOp.PrimaryResource = data.primaryResource;
                        db.SaveChanges();

                        obj.response = ResourceResponse.UpdatedSucessfully;
                        obj.isStatus = true;
                    }
                    catch (Exception ex)
                    {
                        log.Error(ex); if (ex.InnerException != null)
                        {
                            log.Error(ex.InnerException.ToString());
                        }
                        obj.response = ResourceResponse.ExceptionMessage;
                        obj.isStatus = false;
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error(ex); if (ex.InnerException != null)
                {
                    log.Error(ex.InnerException.ToString());
                }
                obj.response = ResourceResponse.ExceptionMessage;
                obj.isStatus = false;
            }
            return(obj);
        }
        /// <summary>
        /// Add and Edit Document
        /// </summary>
        /// <param name="data"></param>
        /// <param name="userId"></param>
        /// <returns></returns>
        public CommonResponse AddAndEditCheckListJobAssignedResource(CheckListJobAssignedResourceMasterCustom data, long userId = 0)
        {
            CommonResponse obj = new CommonResponse();

            try
            {
                var res = db.CheckListJobAssignedResourceMaster.Where(m => m.CheckListJobMasterId == data.checkListJobMasterId && m.CheckListJobGroupId == data.checkListJobGroupId).FirstOrDefault();
                if (res == null)
                {
                    try
                    {
                        CheckListJobAssignedResourceMaster item = new CheckListJobAssignedResourceMaster();
                        item.CheckListJobMasterId       = data.checkListJobMasterId;
                        item.CheckListJobGroupId        = data.checkListJobGroupId;
                        item.PrimaryResource            = data.primaryResource;
                        item.PrimaryResourceToAllFlag   = data.primaryResourceToAllFlag;
                        item.SecondaryResource          = data.secondaryResource;
                        item.SecondaryResourceToAllFlag = data.secondaryResourceToAllFlag;
                        item.IsActive  = true;
                        item.IsDeleted = false;
                        item.CreatedBy = userId;
                        item.CreatedOn = DateTime.Now;
                        db.CheckListJobAssignedResourceMaster.Add(item);
                        db.SaveChanges();
                        obj.response = ResourceResponse.AddedSucessfully;
                        obj.isStatus = true;
                    }
                    catch (Exception ex)
                    {
                        log.Error(ex); if (ex.InnerException != null)
                        {
                            log.Error(ex.InnerException.ToString());
                        }
                        obj.response = ResourceResponse.ExceptionMessage;
                        obj.isStatus = false;
                    }
                }
                else
                {
                    try
                    {
                        res.CheckListJobMasterId       = data.checkListJobMasterId;
                        res.CheckListJobGroupId        = data.checkListJobGroupId;
                        res.PrimaryResource            = data.primaryResource;
                        res.PrimaryResourceToAllFlag   = data.primaryResourceToAllFlag;
                        res.SecondaryResource          = data.secondaryResource;
                        res.SecondaryResourceToAllFlag = data.secondaryResourceToAllFlag;
                        res.ModifiedBy = userId;
                        res.ModifiedOn = DateTime.Now;
                        db.SaveChanges();
                        obj.response = ResourceResponse.UpdatedSucessfully;
                        obj.isStatus = true;
                    }
                    catch (Exception ex)
                    {
                        log.Error(ex); if (ex.InnerException != null)
                        {
                            log.Error(ex.InnerException.ToString());
                        }
                        obj.response = ResourceResponse.ExceptionMessage;
                        obj.isStatus = false;
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error(ex); if (ex.InnerException != null)
                {
                    log.Error(ex.InnerException.ToString());
                }
                obj.response = ResourceResponse.ExceptionMessage;
                obj.isStatus = false;
            }
            return(obj);
        }