Ejemplo n.º 1
0
 public DTO_MailTagSettings()
 {
     this.Baseurl        = "";
     WebSiteUrlNoSsl     = "";
     this.DateTimeFormat = "";
     //this.OpenTag = "[";
     //this.CloseTag = "]";
     VoidDateTime = "--";
     PortalName   = "Comol";
     SmtpConfig   = new lm.Comol.Core.MailCommons.Domain.Configurations.SmtpServiceConfig();
 }
Ejemplo n.º 2
0
        public void SendIntegration(
            lm.Comol.Core.MailCommons.Domain.Configurations.SmtpServiceConfig smtpConfig,
            string Subject, string Body, string BaseUrl, string IntegrationEndOn)
        {
            bool success = ServiceCall.SendIntegration(
                View.IdSubmission,
                View.CommissionId,
                smtpConfig,
                0,
                Subject, Body,
                IntegrationEndOn,
                BaseUrl,
                false, true);

            View.ShowSendInfo(success);
        }
Ejemplo n.º 3
0
        public void SaveStatus(SubmissionStatus status, string webSiteurl, lm.Comol.Core.MailCommons.Domain.Configurations.SmtpServiceConfig smtpConfig, String body, String subject)
        {
            try
            {
                if (UserContext.isAnonymous)
                {
                    if (View.isAnonymousSubmission)
                    {
                        View.GoToUrl(RootObject.ViewSubmission(View.CallType, View.IdCall, View.IdSubmission, View.IdRevision, View.PreloadedUniqueID, true, false, View.PreloadView, View.PreloadIdOtherCommunity, 0));
                    }
                    else
                    {
                        View.DisplaySessionTimeout();
                    }
                }
                else
                {
                    if (ServiceCall.EditSubmissionStatus(View.IdSubmission, UserContext.CurrentUserID, status, webSiteurl, smtpConfig, body, subject))
                    {
                        switch (View.CallType)
                        {
                        case CallForPaperType.CallForBids:
                            View.SendUserAction(View.IdCallCommunity, View.IdCallModule, View.IdSubmission, (status == SubmissionStatus.accepted ? ModuleCallForPaper.ActionType.AcceptSubmission : (status == SubmissionStatus.rejected) ? ModuleCallForPaper.ActionType.RejectSubmission : ModuleCallForPaper.ActionType.EditSubmission));
                            break;

                        case CallForPaperType.Conference:
                            View.SendUserAction(View.IdCallCommunity, View.IdCallModule, View.IdSubmission, (status == SubmissionStatus.accepted ? ModuleRequestForMembership.ActionType.AcceptSubmission : (status == SubmissionStatus.rejected) ? ModuleRequestForMembership.ActionType.RejectSubmission : ModuleRequestForMembership.ActionType.EditSubmission));
                            break;
                        }
                        LoadSubmission(View.IdSubmission, View.IdRevision, UserContext.CurrentUserID);
                    }
                }

                //View.GoToCallForPaperPage(View.CallCommunityID, View.CallForPaperID, View.PreloadView, View.PreloadFilterSubmission, View.PreloadOrderSubmission, View.PreloadPageIndex);
            }
            catch (SubmissionStatusChange ex)
            {
            }
        }
Ejemplo n.º 4
0
        public void UploadSign(Boolean forPublicCall,
                               List <dtoSubmissionValueField> fields,
                               lm.Comol.Core.MailCommons.Domain.Configurations.SmtpServiceConfig smtpConfig,
                               String websiteUrl,
                               Dictionary <SubmissionTranslations, string> translations,
                               DateTime clickDt
                               )
        {
            //Lo tengo da parte, per evitare che lo scadere della sessione dia problemi.
            Int32 idUser = UserContext.CurrentUserID;



            long idSubmission = View.IdSubmission;
            long idRevision   = View.IdRevision;
            //System.Guid uniqueID = View.PreloadedUniqueID;
            long idCall = View.PreloadIdCall;

            DateTime initDt = clickDt;

            //Aggiugnere blocco se call scaduta!
            if (!ServiceCall.SignSubmissionIsNotExpired(idSubmission, idRevision, initDt, clickDt))
            {
                View.DisplayOutOfTime("Expired", true, false);
                return;
            }


            UserSubmission submission = CurrentManager.Get <UserSubmission>(idSubmission);
            Revision       revision   = ServiceCall.GetRevision(idRevision);

            ModuleActionLink aLink = View.AddInternalFile(
                revision,
                ModuleCallForPaper.UniqueCode,
                ServiceCall.ServiceModuleID(),
                (int)ModuleCallForPaper.ActionType.DownloadSubmittedFile,
                (int)ModuleCallForPaper.ObjectType.UserSubmission
                );

            if (aLink == null || aLink.Link == null)
            {
                //ToDo: error
            }
            else
            {
                //Manager.SaveOrUpdate(mLink);

                ServiceCall.SetSignLink(
                    idCall,
                    revision.Id,
                    aLink);



                bool success = ServiceCall.UserCompleteSubmissionSign(
                    idSubmission,
                    idRevision,
                    DateTime.Now,
                    idUser,
                    fields,
                    smtpConfig,
                    websiteUrl,
                    translations,
                    clickDt
                    );

                if (!success)
                {
                    View.DisplayOutOfTime("Expired", true, true);
                    return;
                }
            }

            View.SendSuccessTrap();

            View.SendUserAction(
                UserContext.CurrentCommunityID,
                ServiceCall.ServiceModuleID(),
                idCall,
                ModuleCallForPaper.ActionType.SignUploaded);

            InitView(forPublicCall);
        }
        public void SaveCompleteSubmission(List <dtoSubmissionValueField> fields, lm.Comol.Core.MailCommons.Domain.Configurations.SmtpServiceConfig smtpConfig, String websiteUrl, Dictionary <SubmissionTranslations, string> translations, String BaseFilePath, String translationFileName, DateTime clickDt)
        {
            long           idSubmission = this.View.IdSubmission;
            long           idCall       = View.IdCall;
            UserSubmission submission   = Service.GetUserSubmission(View.IdSubmission);

            if (submission == null || submission.AllowEditSubmission(View.InitSubmissionTime, clickDt))
            {
                submission = SaveUserSubmission(fields);
                if (submission != null || submission.AllowEditSubmission(View.InitSubmissionTime, clickDt))
                {
                    idSubmission = submission.Id;
                    //View.IdSubmission = idSubmission;
                    View.TryToComplete = true;
                    Revision revision = Service.GetRevision(View.IdRevision);
                    try
                    {
                        Int32      idUser = UserContext.CurrentUserID;
                        litePerson person = GetCurrentUser(ref idUser);
                        if (submission.Owner.Id == idUser)
                        {
                            if (fields.Any(f => f.Field.Type == FieldType.FileInput && (f.Value == null || f.Value.IdLink == 0)))
                            {
                                List <SubmissionFieldFileValue> fValues = (from f in CurrentManager.GetIQ <SubmissionFieldFileValue>()
                                                                           where f.Submission == submission && f.Deleted == BaseStatusDeleted.None && f.Revision.Id == revision.Id
                                                                           select f).ToList();
                                if (fValues.Any())
                                {
                                    foreach (dtoSubmissionValueField field in fields.Where(f => f.Field.Type == FieldType.FileInput && (f.Value == null || f.Value.IdLink == 0)))
                                    {
                                        field.Value.IdLink = fValues.Where(f => f.Field.Id == field.IdField).Select(f => f.Link.Id).FirstOrDefault();
                                    }
                                }
                            }

                            Service.UserCompleteSubmission(submission, revision, View.InitSubmissionTime, idUser, BaseFilePath, fields, smtpConfig, websiteUrl, translations, translationFileName, clickDt);
                            View.AllowCompleteSubmission = false;
                            View.AllowDeleteSubmission   = false;
                            View.AllowSave = false;
                            View.SendUserAction(View.IdCallCommunity, View.IdCallModule, submission.Id, ModuleRequestForMembership.ActionType.ConfirmSubmission);
                            View.GoToUrl(RootObject.FinalMessage(CallForPaperType.RequestForMembership, idCall, idSubmission, View.IdRevision, submission.UserCode, View.isAnonymousSubmission, View.FromPublicList, CallStatusForSubmitters.Submitted, View.PreloadIdOtherCommunity));
                        }
                        else if (!View.isAnonymousSubmission && UserContext.isAnonymous)
                        {
                            View.DisplayCallUnavailableForPublic();
                        }
                        else
                        {
                            View.DisplaySessionTimeout();
                        }
                    }
                    catch (SubmissionStatusChange ex)
                    {
                        View.AllowDeleteSubmission = (submission != null && submission.Deleted == BaseStatusDeleted.None && submission.Status == SubmissionStatus.draft);
                        View.LoadError(SubmissionErrorView.SubmissionValueSaving, View.IdCallCommunity, idCall, CallStatusForSubmitters.SubmissionOpened);
                    }
                    catch (SubmissionItemsEmpty ex)
                    {
                        Dictionary <long, FieldError> errors = Service.GetSubmissionFieldErrors(submission, revision);
                        View.AllowDeleteSubmission = (submission != null && submission.Deleted == BaseStatusDeleted.None && submission.Status == SubmissionStatus.draft);
                        View.LoadError((errors.ToList().Where(er => er.Value != FieldError.Mandatory).Any()) ? SubmissionErrorView.InvalidFields : SubmissionErrorView.RequiredItems, View.IdCallCommunity, idCall, CallStatusForSubmitters.SubmissionOpened);
                        LoadSections(submission.Call, submission.Type.Id, idSubmission, View.IdRevision, errors);
                    }
                    catch (SubmissionTimeExpired ex)
                    {
                        View.LoadError(SubmissionErrorView.SubmissionValueSaving, View.IdCallCommunity, idCall, CallStatusForSubmitters.SubmissionClosed);
                    }
                    //View.InitSubmissionTime = DateTime.Now;
                }
            }
            else if (submission != null)
            {
                View.GoToUrl(CallStandardAction.None, RootObject.ViewSubmission(CallForPaperType.RequestForMembership, idCall, idSubmission, View.FromPublicList, CallStatusForSubmitters.Submitted, View.PreloadIdOtherCommunity, 0));
            }
            else
            {
                View.GoToUrl(CallStandardAction.List, RootObject.ViewCalls(idCall, CallForPaperType.RequestForMembership, CallStandardAction.List, View.IdCallCommunity, CallStatusForSubmitters.SubmissionClosed));
            }
        }
 public void PreviewMessage(dtoManagerTemplateMail template, String fakeName, String fakeSurname, String fakeTaxCode, String fakeMail, lm.Comol.Core.MailCommons.Domain.Configurations.SmtpServiceConfig smtpConfig, String websiteUrl, Dictionary <SubmissionTranslations, string> translations)
 {
     if (UserContext.isAnonymous)
     {
         View.DisplaySessionTimeout();
     }
     else
     {
         Language   dLanguage   = CurrentManager.GetDefaultLanguage();
         litePerson currentUser = CurrentManager.GetLitePerson(UserContext.CurrentUserID);
         litePerson fakeUser    = new litePerson();
         fakeUser.TypeID     = (int)UserTypeStandard.Student;
         fakeUser.Name       = fakeName;
         fakeUser.Surname    = fakeSurname;
         fakeUser.Mail       = fakeMail;
         fakeUser.TaxCode    = fakeTaxCode;
         fakeUser.LanguageID = currentUser.LanguageID;
         lm.Comol.Core.Mail.dtoMailMessage message = CallService.GetMailPreview(View.IdCall, template, currentUser, smtpConfig, websiteUrl, translations);
         String recipients = template.NotifyTo;
         if (String.IsNullOrEmpty(recipients))
         {
             recipients = currentUser.Mail;
         }
         else if (recipients.Contains(","))
         {
             recipients = recipients.Replace(",", ";");
         }
         View.DisplayMessagePreview(new lm.Comol.Core.Mail.dtoMailMessagePreview(currentUser.LanguageID, dLanguage, message, template.MailSettings, smtpConfig), recipients);
     }
 }