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);
        }
Пример #2
0
        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);
        }