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())); } }
// 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); } }