public void CalificationProjectItemInfo_Upsert()
        {
            CalificationProjectItemBatchModel oReturn = new CalificationProjectItemBatchModel()
            {
                CalificationProjectItemId     = 0,
                CalificationProjectConfigItem = new Models.CalificationProject.ConfigItemModel()
                {
                    CalificationProjectConfigItemId = 21,
                },
                CalificatioProjectItemInfoModel = new List <CalificationProjectItemInfoBatchModel>()
                {
                    new CalificationProjectItemInfoBatchModel()
                    {
                        CalificationProjectItemInfoId          = 0,
                        CalificationProjectConfigItemInfoModel = new Models.CalificationProject.ConfigItemInfoModel()
                        {
                            CalificationProjectConfigItemInfoId = 11,
                        },
                        ItemInfoScore = 2,
                        Enable        = true,
                    },
                    new CalificationProjectItemInfoBatchModel()
                    {
                        CalificationProjectItemInfoId          = 0,
                        CalificationProjectConfigItemInfoModel = new Models.CalificationProject.ConfigItemInfoModel()
                        {
                            CalificationProjectConfigItemInfoId = 12,
                        },
                        ItemInfoScore = 5,
                        Enable        = true,
                    },
                },
                ItemScore = 10,
                Enable    = true,
            };

            oReturn = ProveedoresOnLine.CalificationBatch.Controller.CalificationProjectBatch.CalificationProjectItemInfoUpsert(oReturn);

            Assert.AreEqual(true, oReturn != null && oReturn.CalificatioProjectItemInfoModel.Count > 0);
        }
        public static CalificationProjectItemBatchModel CalificationProjectItemInfoUpsert(CalificationProjectItemBatchModel oCalItemProject)
        {
            if (oCalItemProject != null &&
                oCalItemProject.CalificatioProjectItemInfoModel != null &&
                oCalItemProject.CalificatioProjectItemInfoModel.Count > 0)
            {
                oCalItemProject.CalificatioProjectItemInfoModel.All(oCalInfoItemProject =>
                {
                    LogManager.Models.LogModel oLog = Company.Controller.Company.GetGenericLogModel();

                    try
                    {
                        if (oCalInfoItemProject != null)
                        {
                            oCalInfoItemProject.CalificationProjectItemInfoId = DAL.Controller.CalificationProjectBatchDataController.Instance.CalificationProjectItemInfoUpsert
                                                                                (
                                oCalInfoItemProject.CalificationProjectItemInfoId,
                                oCalItemProject.CalificationProjectItemId,
                                (int)oCalInfoItemProject.CalificationProjectConfigItemInfoModel.CalificationProjectConfigItemInfoId,
                                (int)oCalInfoItemProject.ItemInfoScore,
                                oCalInfoItemProject.Enable
                                                                                );
                            oLog.IsSuccess = true;
                        }
                    }
                    catch (Exception err)
                    {
                        oLog.IsSuccess = false;
                        oLog.Message   = err.Message + " - " + err.StackTrace;
                        //throw err;
                    }
                    finally
                    {
                        //oLog.LogObject = oCalInfoItemProject;
                        //oLog.RelatedLogInfo.Add(new LogManager.Models.LogInfoModel()
                        //{
                        //    LogInfoType = "CalificationProjectItemInfoId",
                        //    Value = oCalInfoItemProject.CalificationProjectItemInfoId.ToString()
                        //});
                        //LogManager.ClientLog.AddLog(oLog);
                    }

                    return(true);
                });
            }

            return(oCalItemProject);
        }