public Boolean SaveCertificationFile(CertificationType cType, Boolean withEmptyPlaceHolders, Int32 idCommunity, Int32 idUser, String cName, String cDescription, long idPath, long idSubActivity, Guid uniqueID, String extension, Boolean restore = false) { Certification cert = null; SubActivity s = Service.GetSubActivity(idSubActivity); if (s != null) { dtoCertification dto = dtoCertification.Create(cType); dto.Name = cName; if (!String.IsNullOrEmpty(cDescription) && cDescription.Contains("{0}")) { cDescription = string.Format(cDescription, Service.GetPathName(idPath)); } dto.Description = cDescription; dto.IdCommunity = idCommunity; dto.IdContainer = idPath; dto.IdOwner = idUser; dto.UniqueIdGeneratedFile = uniqueID; dto.FileExtension = extension; dto.IdTemplate = s.IdCertificate; dto.IdTemplateVersion = s.IdCertificateVersion; dto.WithEmptyPlaceHolders = withEmptyPlaceHolders; dto.SourceItem = ModuleObject.CreateLongObject(idSubActivity, s, (int)COL_BusinessLogic_v2.UCServices.Services_EduPath.ObjectType.SubActivity, idCommunity, COL_BusinessLogic_v2.UCServices.Services_EduPath.Codex, Service.ServiceModuleID()); cert = ServiceCertifications.SaveUserCertification(dto); } return(cert != null); }
public Certification SaveUserCertification(dtoCertification dto) { Certification certification = null; try { Manager.BeginTransaction(); Person person = Manager.GetPerson(UC.CurrentUserID); Person owner = Manager.GetPerson(dto.IdOwner); if (owner != null && owner.TypeID != (int)UserTypeStandard.Guest && person != null) { List <Certification> items = (from c in Manager.GetIQ <Certification>() where c.Deleted == BaseStatusDeleted.None && c.SourceItem.Equals(dto.SourceItem) && c.Owner.Id == dto.IdOwner && c.Type == dto.Type select c).ToList().OrderByDescending(c => c.CreatedOn).ToList(); Guid uId = Guid.NewGuid(); if (items.Count > 0) { uId = items.Select(c => c.UniqueId).FirstOrDefault(); items.Where(i => i.Status == CertificationStatus.Valid).ToList().ForEach(i => i.Status = CertificationStatus.OverWritten); } certification = new Certification(); certification.CreateMetaInfo(person, UC.IpAddress, UC.ProxyIpAddress); certification.IssuedOn = DateTime.Now; certification.SourceItem = dto.SourceItem; certification.Status = dto.Status; certification.Type = dto.Type; certification.Owner = owner; certification.SourceIdContainer = dto.IdContainer; certification.UniqueId = uId; certification.Name = dto.Name; certification.Description = dto.Description; certification.FileUniqueId = dto.UniqueIdGeneratedFile; certification.Community = Manager.GetCommunity(dto.IdCommunity); certification.IdTemplate = dto.IdTemplate; certification.IdTemplateVersion = dto.IdTemplateVersion; certification.FileExtension = dto.FileExtension; certification.WithEmptyPlaceHolders = dto.WithEmptyPlaceHolders; Manager.SaveOrUpdate(certification); } Manager.Commit(); } catch (Exception ex) { Manager.RollBack(); certification = null; } return(certification); }