Beispiel #1
0
 public virtual MailReturnValue SendEmailThread(string fromMail, string mailSubject, string mailBody, bool isBodyHTML, string toMail, string toCC)
 {
     result = ValidationSendMail.GetInstance.ValidateSendMail(fromMail, mailSubject, mailBody, toMail, toCC);
     if (!result.IsSuccessMail)
     {
         return(result);
     }
     Microsoft.Exchange.WebServices.Data.EmailMessage mailMessage = (Microsoft.Exchange.WebServices.Data.EmailMessage)
                                                                    CreateOutlookMessage.GetInstance.CreateMessage(fromMail, mailSubject, mailBody, isBodyHTML, toMail, toCC);
     ClientOutlook.GetInstance.SentMailThread(mailMessage);
     return(result);
 }
Beispiel #2
0
        /// <summary>
        /// Attempts to discover a walmart project based on content and contacts in the email
        /// </summary>
        /// <param name="message">Microsoft.Exchange.WebServices.Data.EmailMessage</param>
        /// <param name="category">Contains the category string if function returns true.
        /// <para>If function returns false this value will be String.Empty</para></param>
        /// <param name="store">System.Collections.Generic.List&lt; Entity.Store &gt;</param>
        /// <returns>RfiCoder.Enum.QuestionTypes</returns>
        public Enum.QuestionTypes DiscoverProject(Microsoft.Exchange.WebServices.Data.EmailMessage message, out string category, out System.Collections.Generic.List <Entity.Store> store)
        {
            // step one try to get the city, state combination from the email.
            var parser = new Parser();

            var search = String.Format("{0} {1}", message.Subject, message.Body);

            System.Collections.Generic.List <System.Collections.Generic.Dictionary <string, string> > matches;

            var isMatch = parser.TryCityState(search, out matches);

            if (isMatch)
            {
                // let's try to find some stores
                var connector = new Data.DatabaseConnector();

                var stores = new System.Collections.Generic.List <Entity.Store>();

                foreach (var match in matches)
                {
                    var storeList = connector.GetAllStoresByCityState(match["city"], match["state"]);

                    if (storeList.Count != 0)
                    {
                        stores.AddRange(storeList);
                    }
                }
            }

            // get email contacts
            var contacts = message.CcRecipients;

            contacts.Add(message.Sender);

            // some (actually alot) email are automatically forwarded from Amy.  These email
            // don't have any CC recipients.  They are listed in the body of the email.
            // what we'll do is check the message to see if it was sent from Amy but only
            // to the RFI inbox.

            if (message.Sender.Address == "*****@*****.**" &&
                message.ToRecipients[0].Address == "*****@*****.**")
            {
                // becuase this message is an autoforward we need to clear the email addresses we've stored
                contacts.Clear();
            }

            store = new System.Collections.Generic.List <Entity.Store>();

            category = "";

            return(Enum.QuestionTypes.RequestForInformation);
        }
        public async virtual Task <MailReturnValue> SendEmailAsync(string fromMail, string mailSubject, string mailBody, bool isBodyHTML, EmailToList toMails)
        {
            result = ValidationSendMail.GetInstance.ValidateSendMail(fromMail, mailSubject, mailBody, toMails);
            if (!result.IsSuccessMail)
            {
                return(result);
            }
            Microsoft.Exchange.WebServices.Data.EmailMessage mailMessage = (Microsoft.Exchange.WebServices.Data.EmailMessage)
                                                                           CreateOutlookMessage.GetInstance.CreateMessage(fromMail, mailSubject, mailBody, isBodyHTML, toMails);
            result = await ClientOutlook.GetInstance.SentMailAsync(mailMessage);

            return(result);
        }
Beispiel #4
0
        public void TestNonRfiResponseWithOutSequence()
        {
            var email = new Microsoft.Exchange.WebServices.Data.EmailMessage(
                RfiCoder.Utilities.EmailHelper.InstanceOf.GetEmailService);

            email.Subject = "Submitted: 1536 Seminole, FL - wsss dated 2014-12-12";

            string category;

            RfiCoder.Entity.Store store;

            var emailSubject = email.Subject;

            var result = RfiCoder.Utilities.Categorizer.InstanceOf.TryCategorizationFromString(emailSubject, out category, out store);

            Assert.That(result, Is.EqualTo(RfiCoder.Enum.QuestionTypes.None));
        }
Beispiel #5
0
        public void TestRfiResponse6()
        {
            var email = new Microsoft.Exchange.WebServices.Data.EmailMessage(
                RfiCoder.Utilities.EmailHelper.InstanceOf.GetEmailService);

            email.Subject = @"FW: Borger, TX - #1516 - RFI #64";

            email.Body = @"

Project: 1516-002 (Borger, TX) RFI: 64



The following RFI has been submitted and requires a response within 3 days.

http://www.bldgportal.com/?appId=RFI&RID=205859

RFI: 64

Project: 1516-002

Submitted: Friday, November 07, 2014

Submitted by: John Wilson, M W BUILDERS INC.

Assigned to: Terri Hicks, SGA Design Group



Information requested: in the fuel station we installed per the plans, to the left of the door that enters into the equipment room, a light switch, the alarm panel and the thermostat.  there are racks that go against this wall that will not fit because of the devices installed.  it is at the request of the walmart cm to move the light switch directly on the other side of the wall from where it is at, into the equipment room, and to move the thermostat and fire alarm panel to the wall in between the equipment room door and bathroom door, just above the knee wall.  is this acceptable?

0
Attached is a .pdf of an RFI for the above mentioned project.



";

            RfiCoder.Entity.Store store;

            var isSuccess = RfiCoder.Utilities.EmailHelper.InstanceOf.AssignCategory(email, out store);

            Assert.That(isSuccess, Is.True);

            Assert.That(email.Categories[0], Is.EqualTo("Rio Rancho (southern) 3517-0 RFI: 014"));
        }
Beispiel #6
0
        public void TestRfiCategory()
        {
            var email = new Microsoft.Exchange.WebServices.Data.EmailMessage(
                RfiCoder.Utilities.EmailHelper.InstanceOf.GetEmailService);

            email.Subject = "RFI:Request for Information Submitted: 4994-001 (Mechanicsburg, PA) RFI: 28";

            email.Body = "RFI:Request for Information Submitted: 4994-001 (Mechanicsburg, PA) RFI: 28";

            RfiCoder.Entity.Store store;

            var isSuccess = RfiCoder.Utilities.EmailHelper.InstanceOf.AssignCategory(email, out store);

            Assert.That(isSuccess, Is.True);

            Assert.That(email.Categories[0], Is.EqualTo("Mechanicsburg 4994-1 RFI: 028"));
        }
 public virtual MailReturnValue SendEmail(string fromMail, string mailSubject, string mailBody, bool isBodyHTML, string toMail, string toCC, List <EmailAttachment> emailAttachments)
 {
     result = ValidationSendMail.GetInstance.ValidateSendMail(fromMail, mailSubject, mailBody, toMail, toCC);
     if (!result.IsSuccessMail)
     {
         return(result);
     }
     result = ValidationAtttachment.GetInstance.ValidateAttachment(emailAttachments);
     if (!result.IsSuccessMail)
     {
         return(result);
     }
     Microsoft.Exchange.WebServices.Data.EmailMessage mailMessage = (Microsoft.Exchange.WebServices.Data.EmailMessage)
                                                                    CreateOutlookMessageAttachment.GetInstance.CreateMessageWithAttachment(fromMail, mailSubject, mailBody, isBodyHTML, toMail, toCC, emailAttachments);
     result = ClientOutlook.GetInstance.SentMail(mailMessage);
     return(result);
 }
Beispiel #8
0
        public void TestRfiResponse5()
        {
            var email = new Microsoft.Exchange.WebServices.Data.EmailMessage(
                RfiCoder.Utilities.EmailHelper.InstanceOf.GetEmailService);

            email.Subject = @"FW: # 7310-00 (Cinco Ranch, TX) - Request for Information";

            email.Body = @"

REQUEST FOR INFORMATION:

DATE: 12/26/2014

TO: Amy Mills
    Raymond Harris and Associates

FROM: Tina Ames (Wal-Mart Stores Inc.)
     [[email protected]]  (479) 204-0517

RFI NUMBER: v7310-00-08

STORE: 7310-00 (Cinco Ranch, TX)

SPECIFICATION SECTION: 

DRAWING/DETAIL: 
	FX1-FIXTURE-GONDALAPLAN_12-09-14

USER ATTACHMENT:


INFORMATION REQUESTED:

I am need a pdf drawing of the FXS1 to get the information for the bolts and anchors so I can order them

";

            RfiCoder.Entity.Store store;

            var isSuccess = RfiCoder.Utilities.EmailHelper.InstanceOf.AssignCategory(email, out store);

            Assert.That(isSuccess, Is.True);

            Assert.That(email.Categories[0], Is.EqualTo("Cinco Ranch (westheimer) 7310-0 RFI: v7310-00-08"));
        }
        public object CreateMessage(string fromMail, string mailSubject, string mailBody, bool isBodyHTML, string toMail)
        {
            Microsoft.Exchange.WebServices.Data.ExchangeService service = new Microsoft.Exchange.WebServices.Data.ExchangeService();
            service = ClientOutlookSvcPoint.GetInstance.CreateExchangeService();

            Microsoft.Exchange.WebServices.Data.EmailMessage message = new Microsoft.Exchange.WebServices.Data.EmailMessage(service);
            int maxLengthMailSubject = EmailProperties.GetInstance.MailSubjectMaxLength;

            mailSubject = mailBody.Length > maxLengthMailSubject
             ? mailSubject.Substring(0, maxLengthMailSubject) + "...." : mailSubject;

            message.Subject = mailSubject;
            message.ToRecipients.Add(toMail);
            Microsoft.Exchange.WebServices.Data.MessageBody messageBody = new Microsoft.Exchange.WebServices.Data.MessageBody();
            messageBody.BodyType = isBodyHTML?Microsoft.Exchange.WebServices.Data.BodyType.HTML: Microsoft.Exchange.WebServices.Data.BodyType.Text;
            messageBody.Text     = mailBody;
            return(message);
        }
Beispiel #10
0
        public object CreateMessageWithAttachment(string fromMail, string mailSubject, string mailBody, bool isBodyHTML, EmailToList toMails, List <EmailAttachment> emailAttachments)
        {
            string emailTo = toMails.ListEmailTo[0].Trim();

            Microsoft.Exchange.WebServices.Data.EmailMessage message = (Microsoft.Exchange.WebServices.Data.EmailMessage) this.CreateMessageWithAttachment(fromMail.Trim(), mailSubject, mailBody, isBodyHTML, emailTo, emailAttachments);
            for (int i = 1; i < toMails.ListEmailTo.Count; i++)
            {
                message.ToRecipients.Add(toMails.ListEmailTo[i]);
            }
            foreach (var item in toMails.ListEmailCc)
            {
                message.CcRecipients.Add(item);
            }
            foreach (var item in toMails.ListEmailBcc)
            {
                message.BccRecipients.Add(item);
            }
            return(message);
        }
Beispiel #11
0
        public void TestRfiResponseWithOutSequence()
        {
            var email = new Microsoft.Exchange.WebServices.Data.EmailMessage(
                RfiCoder.Utilities.EmailHelper.InstanceOf.GetEmailService);

            email.Subject = "RFI:Request for Information Submitted: 1536 (Mechanicsburg, PA) RFI: 28";

            string category;

            RfiCoder.Entity.Store store;

            var emailSubject = email.Subject;

            var result = RfiCoder.Utilities.Categorizer.InstanceOf.TryCategorizationFromString(emailSubject, out category, out store);

            Assert.That(result, Is.EqualTo(RfiCoder.Enum.QuestionTypes.Success));

            Assert.That(category, Is.EqualTo("Seminole 1536-5 RFI: 028"));
        }
Beispiel #12
0
        public void TestRfiResponse()
        {
            var email = new Microsoft.Exchange.WebServices.Data.EmailMessage(
                RfiCoder.Utilities.EmailHelper.InstanceOf.GetEmailService);

            email.Subject = "RFI:Request for Information Submitted: 4994-001 (Mechanicsburg, PA) RFI: 28";

            RfiCoder.Entity.Store store;

            string category;

            bool isSuccess = false;

            var emailSubject = email.Subject;

            var result = RfiCoder.Utilities.Categorizer.InstanceOf.TryCategorizationFromString(emailSubject, out category, out store);

            if (result == RfiCoder.Enum.QuestionTypes.Success)
            {
                email.Categories.Clear();

                email.Categories.Add(category);

                isSuccess = true;
            }
            else if (result == RfiCoder.Enum.QuestionTypes.RequestForInformation)
            {
                result = RfiCoder.Utilities.Categorizer.InstanceOf.TryCategorizationFromText(email.Body, store, out category);

                if (result == RfiCoder.Enum.QuestionTypes.Success)
                {
                    email.Categories.Clear();

                    email.Categories.Add(category);

                    isSuccess = true;
                }
            }

            Assert.That(isSuccess, Is.True);

            Assert.That(category, Is.EqualTo("Mechanicsburg 4994-1 RFI: 028"));
        }
Beispiel #13
0
        public void TestRfiResponse4()
        {
            var email = new Microsoft.Exchange.WebServices.Data.EmailMessage(
                RfiCoder.Utilities.EmailHelper.InstanceOf.GetEmailService);

            email.Subject = @"WM Store #3512 Sink Drain Dimensions RFI";

            email.Body = @"> From: Jim Rich
> Sent: Tuesday, June 10, 2014 12:31 PM
> To: [email protected]<mailto:[email protected]>
> Cc: [email protected]<mailto:[email protected]>
> Subject: WM Store #3512 Sink Drain Dimensions RFI
>
> Polo
>
> My plumber has asked that I get the floor drain dimensions on the attached drawing. I have clouded the drains we need dimensions on away from grid line #6. We have looked at all drawings and compared it with the submittals provided by the supplier and we cannot find a hard dimension. If you could let me know I would appreciate it, or direct me to where they might be.
>
> Thanks
>
>
> Jim Rich
> Project Manager/Superintendent
> Mick Rich Contractors, Inc.
> O: 505.823.9782 Ext. 15
> M: 505.353.2372
> F: 505.823.9783
>
> [MickRichlogo_tagline copy2]
>
>
> <image001.jpg>
> <Mechanical-Plumbing 16.pdf>
";

            RfiCoder.Entity.Store store;

            var isSuccess = RfiCoder.Utilities.EmailHelper.InstanceOf.AssignCategory(email, out store);

            Assert.That(isSuccess, Is.True);

            Assert.That(email.Categories[0], Is.EqualTo("Albuquerque (montgomery) 3512-0 RFI"));
        }
        private string EnviaEmail(string emailRem, string senhaRem, string emailDest, string assunto, StringBuilder corpo)
        {
            try
            {
                var service = new Microsoft.Exchange.WebServices.Data.ExchangeService(Microsoft.Exchange.WebServices.Data.ExchangeVersion.Exchange2013_SP1);
                service.Credentials = new Microsoft.Exchange.WebServices.Data.WebCredentials(emailRem, senhaRem);
                service.AutodiscoverUrl(emailRem);
                var email = new Microsoft.Exchange.WebServices.Data.EmailMessage(service);
                email.Subject = assunto;
                email.Body    = corpo.ToString();
                email.ToRecipients.Add(emailDest);
                email.SendAndSaveCopy();

                return("E-mail enviado com sucesso !");
            }
            catch (Exception ex)
            {
                return("Ocorreu algum erro, " + ex);
            }
        }
        private string EnviaEmail(string emailRem, string senhaRem, string emailDest, string assunto, string corpo)
        {
            try
            {
                var service = new Microsoft.Exchange.WebServices.Data.ExchangeService(Microsoft.Exchange.WebServices.Data.ExchangeVersion.Exchange2013_SP1);
                service.Credentials = new Microsoft.Exchange.WebServices.Data.WebCredentials(emailRem, senhaRem);
                service.AutodiscoverUrl(emailRem);
                var email = new Microsoft.Exchange.WebServices.Data.EmailMessage(service);
                email.Subject = assunto;
                email.Body    = corpo;
                email.ToRecipients.Add(emailDest);
                email.SendAndSaveCopy();

                return("Justificativa enviada com sucesso para aprovação !");
            }
            catch (Exception)
            {
                return("Ocorreu algum erro ao tentar enviar o email !");
            }
        }
Beispiel #16
0
        public void TestTryGetAndAttachDocumentsMultiStore()
        {
            var email = new Microsoft.Exchange.WebServices.Data.EmailMessage(
                RfiCoder.Utilities.EmailHelper.InstanceOf.GetEmailService);

            var store = new RfiCoder.Entity.Store();

            store.Number = 6589;

            store.Sequence = 0;

            var category = "RFI: 1";

            var result = RfiCoder.Utilities.EmailHelper.InstanceOf.TryGetAndAttachDocuments(email, store, category);

            Assert.That(result, Is.False);

            var attachments = email.Attachments;

            Assert.That(attachments.Count, Is.EqualTo(0));
        }
Beispiel #17
0
        public void TestTryGetAndAttachDocuments2()
        {
            var email = new Microsoft.Exchange.WebServices.Data.EmailMessage(
                RfiCoder.Utilities.EmailHelper.InstanceOf.GetEmailService);

            var store = new RfiCoder.Entity.Store();

            store.Number = 6406;

            store.Sequence = 3;

            var category = "RFI: 072";

            var result = RfiCoder.Utilities.EmailHelper.InstanceOf.TryGetAndAttachDocuments(email, store, category);

            Assert.That(result, Is.True);

            var attachments = email.Attachments;

            Assert.That(attachments.Count, Is.InRange(1, 6));

            int count = 1;

            var parser = new RfiCoder.Utilities.Parser();

            foreach (var attachment in attachments)
            {
                var name = attachment.Name;

                var extension = parser.GetAttachmentExtension(name);

                var rfiNumber = parser.GetRfiNumberWithPadding(category);

                var rename = String.Format("{0}_RFI {1}_Attachment {2}{3}", store.Number.ToString(), rfiNumber, count.ToString("D2"), extension);

                Assert.That(name, Is.EqualTo(rename));

                count++;
            }
        }
Beispiel #18
0
        public void TestSaveAttachmentsToFolder()
        {
            var directory = new System.IO.DirectoryInfo(System.Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory));

            var store = new RfiCoder.Entity.Store();

            store.ProjectNumber = 1304007;

            store.Program = RfiCoder.Enum.ProgramTypes.NewStores;

            store.City = "Austin (lakeline)";

            var fileHandler = new RfiCoder.Utilities.FileHandler(store);

            var email = new Microsoft.Exchange.WebServices.Data.EmailMessage(
                RfiCoder.Utilities.EmailHelper.InstanceOf.GetEmailService);

            email.Subject = @"WM Store #9999 Sink Drain Dimensions RFI";

            var files = directory.GetFiles();

            var randGen = new System.Random();

            var pt = randGen.Next(1, files.Length);

            var file = files[pt];

            email.Attachments.AddFileAttachment(file.Name, file.OpenRead());

            email.Save(Microsoft.Exchange.WebServices.Data.WellKnownFolderName.Drafts);

            var result = fileHandler.SaveAttachmentsToFolder(email.Attachments);

            email.Delete(Microsoft.Exchange.WebServices.Data.DeleteMode.HardDelete);

            System.IO.File.Delete(String.Format("{0}\\{1}", fileHandler.Path, file.Name));

            Assert.That(result, Is.True);
        }
        private Task SendMailAsync(string subject, string body, IReadOnlyList <string> toRecipients, IReadOnlyList <string> ccRecipients = null, IDictionary <string, byte[]> attachments = null)
        {
            return(Task.Run(() =>
            {
                var message = new Microsoft.Exchange.WebServices.Data.EmailMessage(exchangeSvc);

                foreach (string toRecipient in toRecipients)
                {
                    message.ToRecipients.Add(NormailizeEmailRecipient(toRecipient));
                }

                if (ccRecipients != null)
                {
                    foreach (string ccRecipient in ccRecipients)
                    {
                        message.CcRecipients.Add(NormailizeEmailRecipient(ccRecipient));
                    }
                }

                message.Subject = subject;
                message.Body = body;

                if (attachments != null)
                {
                    foreach (var attachment in attachments)
                    {
                        var fileAttachment = message.Attachments.AddFileAttachment(attachment.Key, attachment.Value);
                        fileAttachment.IsInline = true;
                        fileAttachment.ContentId = attachment.Key;
                    }
                }

                message.Save();
                message.Send();
            }));
        }
Beispiel #20
0
 public void Init()
 {
     var email = new Microsoft.Exchange.WebServices.Data.EmailMessage(
         RfiCoder.Utilities.EmailHelper.InstanceOf.GetEmailService);
 }
Beispiel #21
0
        public void TestRfiResponse2()
        {
            var email = new Microsoft.Exchange.WebServices.Data.EmailMessage(
                RfiCoder.Utilities.EmailHelper.InstanceOf.GetEmailService);

            email.Subject = @"FW: # 2345-00 (Italy, TX) - Request for Information";

            email.Body = @"


________________________________________
From: EDDS | Request For Information
Sent: Wednesday, May 28, 2014 10:32:04 AM (UTC-06:00) Central Time (US & Canada)
To: Amy Mills
Subject: # 2345-00 (Italy, TX) - Request for Information

REQUEST FOR INFORMATION:

DATE: 5/28/2014

TO: Amy Mills
    Raymond Harris and Associates

FROM: Matt Scott (Haines, Jones & Cadbury)
     [[email protected]]  (479) 756-8989

RFI NUMBER: v2345-00-01

STORE: 2345-00 (Italy, TX)

SPECIFICATION SECTION:

DRAWING/DETAIL:
        0010 - CS1.0 COVER SHEET - 2345
        8010 - FSA1 CANOPY AND DETAILS - 2345

USER ATTACHMENT:


INFORMATION REQUESTED:

Please advise if there will be any plumbing pages associated with the fuel station?

Matt Scott
479-756-8989 Ext 5958


Use the following link to reply to this request:

http://www.bldgportal.com/login.aspx?appId=EDDS&ID=129564

-- Please do not reply to this message. This mailbox is unattended. --
";

            RfiCoder.Entity.Store store;

            var isSuccess = RfiCoder.Utilities.EmailHelper.InstanceOf.AssignCategory(email, out store);

            Assert.That(isSuccess, Is.True);

            Assert.That(email.Categories[0], Is.EqualTo("Italy 2345-0 RFI: v2345-00-01"));
        }
Beispiel #22
0
        public void TestRfiResponse3()
        {
            var email = new Microsoft.Exchange.WebServices.Data.EmailMessage(
                RfiCoder.Utilities.EmailHelper.InstanceOf.GetEmailService);

            email.Subject = @"Fwd: Re: Fwd: FW: RFI:Request for Information Submitted: 3517-000 (Rio Rancho (";

            email.Body = @"
Please see attached response to the RFI listed above.

Thank you,

Mitzi Stone
Wallace Engineering Structural Consultants, Inc.
Structural and Civil Consultants
200 East Mathew Brady Street
Tulsa, Oklahoma 74103
918.584.5858
www.wallacesc.com

This email and any files transmitted with it may contain confidential or privileged information.  If you have received this email message in error, please notify the sender by email and delete this email from your system.  The unauthorized use or dissemination of confidential or privileged information contained in this email is prohibited.

----- Original Message -----
        
From:           Max Lehman      Wednesday, May 28, 2014 2:15:37 PM
Subject:        Re: Fwd: FW: RFI:Request for Information Submitted: 3517-000 (Rio Rancho (South
To:             WM RFI's

Response:
The specified conditions with one bar per cell will be acceptable.  Continue constructing walls with 2 bars per cell at the required locations per the documents.  The scuppers are the openings that are the most critical in placing the reinforcement in the correct locations.  Do not build scupper jambs with only a single reinforcing bar per cell higher than the 4' already indicated or wall will need to be opened up to provide the correct amount of reinforcement.

Contractor Error
CMU
45min
incorrectly placed jamb reinforcement

Thanks.

Max Lehman, PE
Associate

Wallace Engineering - Structural Consultants, Inc.
Structural and Civil Consultants
900 West Castleton Road, Suite 140
Castle Rock, Colorado 80109
720.407.5289 Direct
303.350.1690 Office
www.wallacesc.com

Tulsa | Kansas City | Oklahoma City | Denver | Atlanta

Connect with us:  Facebook | LinkedIn | Twitter | Origin

This email and any files transmitted with it may contain confidential or privileged information.  If you have received this email message in error, please notify the sender by email and delete this email from your system.  The unauthorized use or dissemination of confidential or privileged information contained in this email is prohibited.

WM RFI's on Wednesday, May 28, 2014 at 8:43 AM -0600 wrote:

----- Original Message -----
        
From:           RFI <*****@*****.**>  Wednesday, May 28, 2014 9:45:04 AM
Subject:        FW: RFI:Request for Information Submitted: 3517-000 (Rio Rancho (Southern), NM) R
To:             WM RFI's
Cc:             RFI <*****@*****.**>  Alyssa Parker <*****@*****.**>

Please see request for information below and respond as soon as possible.

PLEASE DO NOT MODIFY SUBJECT LINE

Jim Sims
211 N. Record Street
Suite 222
Dallas, TX 75202
(214) 749-0626


-----Original Message-----
From: Amy Mills
Sent: Tuesday, May 27, 2014 4:07 PM
To: RFI
Subject: FW: RFI:Request for Information Submitted: 3517-000 (Rio Rancho (Southern), NM) RFI: 14



________________________________________
From: [email protected]
Sent: Tuesday, May 27, 2014 4:02:58 PM (UTC-06:00) Central Time (US & Canada)
To: Amy Mills
Cc: Gilbert Jordan; Jim Sims; Barbara Forster; Joey Hiers; Nathan Lantz; Nicholas Fingerhut; Pej Haidari; Vince Herrera
Subject: RFI:Request for Information Submitted: 3517-000 (Rio Rancho (Southern), NM) RFI: 14

Project: 3517-000 (Rio Rancho (Southern), NM) RFI: 14


The following RFI has been submitted and requires a response within 3 days.

http://www.bldgportal.com/?appId=RFI&RID=193043

RFI: 14

Project: 3517-000

Submitted: Tuesday, May 27, 2014

Submitted by: Nathan Lantz, Roche Constructors Inc

Assigned to: Amy Mills, Raymond Harris and Associates


Information requested: Please reference detail #2 on sheet S4.  Per the detail it shows and has a note that the there needs to be two bars in the jambs of a typical masonry wall opening.  The issue is that we only installed one bar in the jambs, the number of cells on each jamb is accurate, and we are just missing the second bar in each cell.  See attached for locations of issues.  Please advise if the single bar in the jambs is adequate, if not please provide instructions and details for proper fix.

1)      Door 121A - Missing second bar at jambs.  Wall is currently at 12'-0";

            RfiCoder.Entity.Store store;

            var isSuccess = RfiCoder.Utilities.EmailHelper.InstanceOf.AssignCategory(email, out store);

            Assert.That(isSuccess, Is.True);

            Assert.That(email.Categories[0], Is.EqualTo("Rio Rancho (southern) 3517-0 RFI: 014"));
        }
Beispiel #23
0
 private Microsoft.Exchange.WebServices.Data.EmailMessage  AddMessageAttachment(Microsoft.Exchange.WebServices.Data.EmailMessage message, List <EmailAttachment> emailAttachments)
 {
     if (emailAttachments != null)
     {
         foreach (var item in emailAttachments)
         {
             Attachment attachment = new Attachment(new MemoryStream(item.FileAttachment), item.FileNameWithExt);
             message.Attachments.AddFileAttachment(item.FileNameWithExt, new MemoryStream(item.FileAttachment));
         }
     }
     return(message);
 }
        public async Task SendEmailWithVerificationCode(Object json)
        {
            string name;
            string username;

            SprHuman[] sprHuman;
            dynamic    jsonDynamic = JObject.Parse(json.ToString());
            //if (!CheckOutGoogleRecaptchaToken(jsonDynamic.captcha.ToString()))
            //{
            //    await Response.WriteAsync("Is invalid recaptcha token !");
            //    return;
            //}
            AutodiscoverRedirectionUrlValidationCallback autodiscoverRedirectionUrlValidationCallback = (string redirectionUrl) => { Uri redirectionUri = new Uri(redirectionUrl); if (redirectionUri.Scheme == "https")
                                                                                                                                     {
                                                                                                                                         return(true);
                                                                                                                                     }
                                                                                                                                     else
                                                                                                                                     {
                                                                                                                                         return(false);
                                                                                                                                     } };

            Microsoft.Exchange.WebServices.Data.ExchangeService exchangeService = new Microsoft.Exchange.WebServices.Data.ExchangeService(Microsoft.Exchange.WebServices.Data.ExchangeVersion.Exchange2013_SP1);
            exchangeService.Credentials = new Microsoft.Exchange.WebServices.Data.WebCredentials(AuthorizationConfig.login, AuthorizationConfig.password);
            try
            {
                string   email    = jsonDynamic.email;
                DateTime birthday = DateTime.Parse(jsonDynamic.birthdate.ToString());
                sprHuman = GetInformationFromDatabase(email);
                if (birthday != sprHuman[0].Birthday)
                {
                    await Response.WriteAsync($"Email is doesn't send !");

                    return;
                }
                name     = $"{sprHuman[0].FirstName} {sprHuman[0].LastName}";
                username = sprHuman[0].SamaccountName;
                Random random           = new Random();
                string verificationCode = AuthorizationConfig.verificationCode;
                for (int i = 0; i <= 10; i++)
                {
                    char   characterLetter = (char)random.Next('A', 'Z');
                    char   characterDigit  = (char)random.Next('1', '9');
                    char[] characters      = { characterLetter, '~', '!', characterDigit, '@', '#', characterLetter, '$', '&', characterDigit, '*', '(', characterLetter, ')', '_', characterDigit, '+', '?', characterLetter, ':', '-', characterDigit, '=', ',', characterLetter, '.', ';', characterDigit, '[', ']', characterLetter };
                    verificationCode += $"{characters[random.Next(characters.Length)]}";
                }
                verificationCodes.Add(verificationCode, username);
                exchangeService.Timeout = 300000;
                exchangeService.AutodiscoverUrl(AuthorizationConfig.login, autodiscoverRedirectionUrlValidationCallback);
                ThreadStart threadStart = () => { Action action = () => { Thread.Sleep(300000); verificationCodes.Remove(verificationCodes[verificationCode]); }; };
                Thread      thread      = new Thread(threadStart);
                thread.Start();
                Microsoft.Exchange.WebServices.Data.EmailMessage emailMessage = new Microsoft.Exchange.WebServices.Data.EmailMessage(exchangeService);
                emailMessage.ToRecipients.Add(email);
                emailMessage.Subject = "Hello World";
                emailMessage.Body    = new Microsoft.Exchange.WebServices.Data.MessageBody($"Hello {name} ! This is the verification code {verificationCode} which you must to introduce in following link http://elk-test.iep.ru/password-reset/{GenerateToken(username, AuthorizationConfig.lifeTimeForCheckOutEmailOrChangePasswordForUnauthUser)}");
                await emailMessage.SendAndSaveCopy();

                await Response.WriteAsync("Email is sent !");
            }
            catch (Exception ex)
            {
                await Response.WriteAsync($"Email is doesn't send ! {ex.Message}");
            }
        }