Exemplo n.º 1
0
        public IHttpActionResult Post(WrapperModel model)
        {
            //Insert into database
            WrapperModel         templateData = new WrapperModel();
            List <Oligosequence> getList      = new List <Oligosequence>();
            Guid g = Guid.NewGuid();

            try {
                Billing bill = new Billing();
                //  bill.Date = DateTime.Now;
                bill.FullName        = model.billing.FullName;
                bill.Quotenumber     = model.billing.Quotenumber;
                bill.Institution     = model.billing.Institution;
                bill.BillingAddress  = model.billing.BillingAddress;
                bill.Phone           = model.billing.Phone;
                bill.Email           = model.billing.Email;
                bill.Notes           = model.billing.Notes;
                bill.UserId          = g;
                templateData.billing = bill;

                //db.Entry(bill).State = EntityState.Added;
                // db.Billing.Add(bill);


                //Shipping
                Shipping ship = new Shipping();
                ship.ShippingDate    = model.shipping.ShippingDate;
                ship.FullName        = model.shipping.FullName;
                ship.Institution     = model.shipping.Institution;
                ship.ShippingAddress = model.shipping.ShippingAddress;
                ship.Phone           = model.shipping.Phone;
                ship.Email           = model.shipping.Email;
                ship.UserId          = g;
                // db.Shipping.Add(ship);
                //   db.Entry(ship).State = EntityState.Added;
                templateData.shipping = ship;

                //Oligosequence
                Oligosequence ol;

                for (int i = 0; i < model.oligosequence.Count(); i++)
                {
                    ol = new Oligosequence();
                    //Primer Name
                    ol.PrimerName = model.oligosequence[i].PrimerName;
                    //Qty
                    ol.Qty = model.oligosequence[i].Qty;
                    //OligonucleotideSequence
                    ol.OligonucleotideSequence = model.oligosequence[i].OligonucleotideSequenceValue;
                    //SynthesisScale1
                    ol.SynthesisScaleValue    = model.oligosequence[i].SynthesisScaleValue;
                    ol.FinalDeliveryFormValue = model.oligosequence[i].FinalDeliveryFormValue;
                    ol.GMP2              = model.oligosequence[i].GMP2;
                    ol.Modification      = model.oligosequence[i].ModificationValue;
                    ol.PurificationValue = model.oligosequence[i].PurificationValue;
                    ol.Price             = model.oligosequence[i].Price;
                    ol.UserId            = g;
                    //  db.Oligosequence.Add(ol);
                    //   db.Entry(ol).State = EntityState.Added;
                    getList.Add(ol);
                }
                //Create email template!
                SendEmail email = new SendEmail();
                templateData.oligosequence = getList;
                email.SetUpbill(templateData);
                // ParseTemplate(ob);
                //       db.SaveChanges();
                return(Ok());
            } catch (Exception ex) {
                return(Ok(ex.InnerException.ToString()));
            }
        }
Exemplo n.º 2
0
        //  public ActionResult GeneratePDF() { return new Rotativa.ActionAsPdf("Orders"); }
        private WrapperModel CreateOrder(WrapperModel model)
        {
            WrapperModel         templateData = new WrapperModel();
            List <Oligosequence> getList      = new List <Oligosequence>();
            Guid g = Guid.NewGuid();

            try {
                Billing bill = new Billing();
                //  bill.Date = DateTime.Now;
                bill.FullName        = model.billing.FullName;
                bill.Quotenumber     = model.billing.Quotenumber;
                bill.Institution     = model.billing.Institution;
                bill.BillingAddress  = model.billing.BillingAddress;
                bill.Phone           = model.billing.Phone;
                bill.Email           = model.billing.Email;
                bill.Notes           = model.billing.Notes;
                bill.UserId          = g;
                templateData.billing = bill;

                db.Entry(bill).State = EntityState.Added;
                db.Billing.Add(bill);


                //Shipping
                Shipping ship = new Shipping();
                ship.ShippingDate    = model.shipping.ShippingDate;
                ship.FullName        = model.shipping.FullName;
                ship.Institution     = model.shipping.Institution;
                ship.ShippingAddress = model.shipping.ShippingAddress;
                ship.Phone           = model.shipping.Phone;
                ship.Email           = model.shipping.Email;
                ship.UserId          = g;
                db.Shipping.Add(ship);
                db.Entry(ship).State  = EntityState.Added;
                templateData.shipping = ship;

                //Oligosequence
                Oligosequence ol;

                for (int i = 0; i < model.oligosequence.Count(); i++)
                {
                    ol = new Oligosequence();
                    ////Primer Name
                    //ol.PrimerName = model.oligosequence[i].PrimerName;
                    ////Qty
                    //ol.Qty = model.oligosequence[i].Qty;
                    ////OligonucleotideSequence
                    //ol.OligonucleotideSequence = model.oligosequence[i].OligonucleotideSequence;
                    ////SynthesisScale1
                    //var getSynthesisScale1 = Core.StaticValues.SynthesisD.SingleOrDefault(x => x.Value == Convert.ToInt32(model.oligosequence[i].SynthesisScale1));
                    //ol.SynthesisScale1 = getSynthesisScale1.Key;

                    //var final = Core.StaticValues.FinalDelivery.SingleOrDefault(x => x.Value == Convert.ToString(model.oligosequence[i].FinalDeliveryForm));
                    //ol.FinalDeliveryForm = final.Text;
                    //ol.GMP2 = model.oligosequence[i].GMP2;
                    //ol.Modification = model.oligosequence[i].Modification;

                    //var purification = Core.StaticValues.Purification.SingleOrDefault(X => X.Value == model.oligosequence[i].Purification);
                    //ol.Purification = purification.Text;


                    //ol.UserId = g;
                    //db.Oligosequence.Add(ol);
                    //db.Entry(ol).State = EntityState.Added;
                    getList.Add(ol);
                }
                //Create email template!
                SendEmail email = new SendEmail();
                templateData.oligosequence = getList;
                email.SetUpbill(templateData);
                // ParseTemplate(ob);
                //       db.SaveChanges();
                return(templateData);
            } catch (DbEntityValidationException ex) {
                // Retrieve the error messages as a list of strings.
                var errorMessages = ex.EntityValidationErrors
                                    .SelectMany(x => x.ValidationErrors)
                                    .Select(x => x.ErrorMessage);

                // Join the list to a single string.
                var fullErrorMessage = string.Join("; ", errorMessages);

                // Combine the original exception message with the new one.
                var exceptionMessage = string.Concat(ex.Message, " The validation errors are: ", fullErrorMessage);

                // Throw a new DbEntityValidationException with the improved exception message.
                throw new DbEntityValidationException(exceptionMessage, ex.EntityValidationErrors);
            }
        }