private CLOToPLO FindCLOToPLOByCLOId(int CLOId, string currentUsername)
        {
            List <CLOToPLOMapping> CLOToPLOMappings = FindAll(currentUsername);
            CLOToPLO CLOToPLO = new CLOToPLO();

            if (CLOToPLOMappings != null)
            {
                try
                {
                    CLOToPLOMappings     = CLOToPLOMappings.FindAll(CLOToPLOMapping => CLOToPLOMapping.CLO.Id == CLOId);
                    CLOToPLO.CLO         = (CLOToPLOMappings.Count > 0) ? CLOToPLOMappings[0].CLO : null;
                    CLOToPLO.MapPLOLists = new List <MapPLO>();

                    foreach (var items in CLOToPLOMappings)
                    {
                        MapPLO mapPLO = new MapPLO()
                        {
                            PLO    = items.PLO,
                            Points = items.Points
                        };
                        CLOToPLO.MapPLOLists.Add(mapPLO);
                    }
                }
                catch (Exception ex)
                {
                    Logger.Log(ex);
                }
            }
            return(CLOToPLO);
        }
        internal string SaveMapping(CLOToPLO CLOToPLO, string name)
        {
            try
            {
                CLOToPLO.CLO = CLOService.FindById(CLOToPLO.CLO.Id, name);

                if (CLOToPLO.MapPLOLists.Count > 0)
                {
                    foreach (var item in CLOToPLO.MapPLOLists)
                    {
                        CLOToPLOMapping CLOToPLOMapping = new CLOToPLOMapping()
                        {
                            CLO    = CLOToPLO.CLO,
                            PLO    = PLOService.FindById(item.PLO.Id, name),
                            Points = item.Points
                        };
                        if (!IsExistMapping(CLOToPLOMapping, name))
                        {
                            Save(CLOToPLOMapping, name);
                        }
                    }
                    return(null);
                }
                else
                {
                    return(Messages.InvalidField);
                }
            }
            catch (Exception ex)
            {
                Logger.Log(ex);
                return(ex.Message);
            }
        }
 public ActionResult CLOToPLOEdit(int id)
 {
     if (id > 0)
     {
         CLOToPLO CLOToPLO = CLOToPLOMappingService.FindByCLOId(id, User.Identity.Name);
         return(View(CLOToPLO));
     }
     return(View());
 }
        /// -------------------------------- CLO TO PLO ------------------------------------ ///

        public ActionResult CLOToPLODetails(int id)
        {
            if (id > 0)
            {
                CLOToPLO CLOToPLOMapping = CLOToPLOMappingService.FindByCLOId(id, User.Identity.Name);
                return(PartialView("Partial/CLOToPLODetails", CLOToPLOMapping));
            }
            return(View());
        }
 internal string UpdateMapping(CLOToPLO CLOToPLO, string name)
 {
     try
     {
         if (CLOToPLO.MapPLOLists.Count > 0)
         {
             CLOToPLO.CLO = CLOService.FindById(CLOToPLO.CLO.Id, name);
             if (CLOToPLO != null)
             {
                 foreach (var item in CLOToPLO.MapPLOLists)
                 {
                     CLOToPLOMapping CLOToPLOMapping = new CLOToPLOMapping()
                     {
                         CLO    = CLOToPLO.CLO,
                         PLO    = PLOService.FindById(item.PLO.Id, name),
                         Points = item.Points
                     };
                     if (!IsExistMapping(CLOToPLOMapping, name))
                     {
                         Save(CLOToPLOMapping, name);
                     }
                     else
                     {
                         var deleteorUpdate = FindAll(name).Find(mp => mp.CLO.Id == CLOToPLOMapping.CLO.Id && mp.PLO.Id == CLOToPLOMapping.PLO.Id);
                         CLOToPLOMapping.Id = deleteorUpdate.Id;
                         Update(CLOToPLOMapping, name);
                     }
                 }
                 return(null);
             }
             else
             {
                 return(Messages.CLONotFound);
             }
         }
         else
         {
             return(Messages.InvalidField);
         }
     }
     catch (Exception ex)
     {
         Logger.Log(ex);
         return(ex.Message);
     }
 }
 public ActionResult CLOToPLOCreate(CLOToPLO CLOToPLO)
 {
     if (ModelState.IsValid)
     {
         string message = CLOToPLOMappingService.SaveMapping(CLOToPLO, User.Identity.Name);
         if (string.IsNullOrEmpty(message))
         {
             TempData["Success"] = Messages.Created;
             return(RedirectToAction("Index"));
         }
         else
         {
             ViewData["Warning"] = message;
         }
     }
     else
     {
         ViewData["Error"] = Messages.InvalidField;
     }
     return(View());
 }
        public CLOToPLO FindByCLOId(int id, string CurrentUsername)
        {
            CLOToPLO FoundedCLOToPLO = FindCLOToPLOByCLOId(id, CurrentUsername);

            return(FoundedCLOToPLO);
        }