示例#1
0
        private void Validate(Shipment model)
        {
            if (model.ContactId < 1)
                ModelState.AddModelError("ContactId", "Please select a valid Contact from the auto complete choices");

            if (model.TitleId < 1)
                ModelState.AddModelError("TitleId", "Please select a valid Title from the auto complete choices");

            if (!ModelState.IsValid)
                ModelState.AddModelError(string.Empty, "Please fix the errors below.");
        }
示例#2
0
        public List<Shipment> CreateShipmentCollection()
        {
            List<Shipment> shipments = new List<Shipment>();

            foreach (int titleId in SelectedTitles)
            {
                foreach (int contactId in SelectedContacts)
                {
                    Shipment shipment = new Shipment();
                    shipment.Status = Status;
                    shipment.Type = Type;
                    shipment.DateSent = DateSent;
                    shipment.Quantity = Quantity;
                    shipment.ShouldFollowUp = ShouldFollowUp;
                    shipment.ContactId = contactId;
                    shipment.TitleId = titleId;

                    shipments.Add(shipment);
                }
            }

            return shipments;
        }
示例#3
0
 private void LoadLists(Shipment model)
 {
     var titleId = model.TitleId.ToString();
     var titleName = string.IsNullOrEmpty(model.TitleName) ? "Search for a Title" : model.TitleName;
     var contactId = model.ContactId.ToString();
     var contactName = string.IsNullOrEmpty(model.ContactName) ? "Search for a Contact" : model.ContactName;
     var contacts = new List<SelectListItem> { new SelectListItem { Text = contactName, Value = contactId } };
     var titles = new List<SelectListItem> { new SelectListItem { Text = titleName, Value = titleId } };
     model.Contacts = new SelectList(contacts, "Value", "Text", null);
     model.Titles = new SelectList(titles, "Value", "Text", null);
 }
示例#4
0
 private void ParseQueryString(HttpRequestBase Request, Shipment model, bool isCreate)
 {
     model.Redirect = string.Empty;
     if (!string.IsNullOrEmpty(Request.QueryString["title"]))
     {
         model.Redirect = "title";
         if (isCreate)
         {
             model.TitleId = Convert.ToInt32(Request.QueryString["title"]);
             model.TitleName = reviewData.GetTitleDisplayNameById(model.TitleId);
         }
     }
     else if (!string.IsNullOrEmpty(Request.QueryString["contact"]))
     {
         model.Redirect = "contact";
         if (isCreate)
         {
             model.ContactId = Convert.ToInt32(Request.QueryString["contact"]);
             model.ContactName = reviewData.GetContactDisplayNameById(model.ContactId);
         }
     }
 }
示例#5
0
        public ActionResult Edit(Shipment model)
        {
            LoadLists(model);
            Validate(model);

            if (ModelState.IsValid)
            {
                data.Update(model, (Session["LoggedInUser"] as user).id);
                TempData["SuccessMessage"] = string.Format("Shipment was updated.");

                if (model.Redirect == "title")
                    return RedirectToAction("Edit", "Title", new { id = model.TitleId });
                if (model.Redirect == "contact")
                    return RedirectToAction("Edit", "Contact", new { id = model.ContactId });
                return RedirectToAction("Search");
            }
            return View(model);
        }
示例#6
0
 /// <summary>
 /// CRUD 
 /// </summary>
 public Shipment GetById(int id)
 {
     var model = dbContext.shipments.FirstOrDefault(x => x.id == id);
     if (model == null)
         return null;
     Shipment shipment = new Shipment
     {
         Id = model.id,
         TitleId = model.title_id,
         TitleName = model.shipment_title.title1,
         TitlePubDate = model.shipment_title.date_published,
         ContactId = model.contact_id,
         ContactName = model.shipment_contact.firstname + " " + model.shipment_contact.lastname + " (" +
             (model.shipment_contact.is_primary ? model.shipment_contact.organization : model.shipment_contact.organization_alt) + ")",
         DateSent = model.date_sent,
         Quantity = model.quantity,
         ShouldFollowUp = model.should_followup,
         Status = model.status,
         Type = model.type,
         LastUpdated = string.Format("{0} at {1}", model.shipment_user.username, model.updatedat.ToShortDateString())
     };
     shipment.TitleName = shipment.TitleName + " (" + shipment.TitlePubDate.ToShortDateString() + ")";
     return shipment;
 }
示例#7
0
 public void Update(Shipment model, int updatedby)
 {
     var obj = dbContext.shipments.First(x => x.id == model.Id);
     {
         obj.title_id = model.TitleId;
         obj.contact_id = model.ContactId;
         obj.date_sent = model.DateSent;
         obj.quantity = model.Quantity;
         obj.should_followup = model.ShouldFollowUp;
         obj.status = model.Status;
         obj.type = model.Type;
         obj.updatedat = DateTime.Now;
         obj.updatedby = updatedby;
         dbContext.SaveChanges();
     }
 }
示例#8
0
        public void Insert(Shipment model, int createdBy)
        {
            var obj = new shipment
                {

                    title_id = model.TitleId,
                    contact_id = model.ContactId,
                    date_sent = model.DateSent,
                    quantity = model.Quantity,
                    should_followup = model.ShouldFollowUp,
                    status = model.Status,
                    type = model.Type,
                    createdat = DateTime.Now,
                    createdby = createdBy,
                    updatedat = DateTime.Now,
                    updatedby = createdBy,
                };

            dbContext.shipments.Add(obj);
            dbContext.SaveChanges();
        }
示例#9
0
        public void CanMigrateTitles()
        {
            Dictionary<int, int> contactMap = new Dictionary<int, int>();
            Dictionary<int, int> titleMap = new Dictionary<int, int>();
            WavePoetry.DataAccess.TitleData titles = new WavePoetry.DataAccess.TitleData();
            WavePoetry.DataAccess.ReviewData reviews = new WavePoetry.DataAccess.ReviewData();
            WavePoetry.DataAccess.ShipmentData shipments = new WavePoetry.DataAccess.ShipmentData();
            WavePoetry.DataAccess.ContactData contacts = new WavePoetry.DataAccess.ContactData();
            WavePoetry.DataAccess.AdminData adminData = new WavePoetry.DataAccess.AdminData();
            WavePoetry.OldDataAccess.waveoldEntities dbContext = new WavePoetry.OldDataAccess.waveoldEntities();

            ////////////
            /// TITLES
            /// //////
            var oldTitles = dbContext.titles.ToList();
            foreach (title t in oldTitles)
            {
                var savedT = titles.Search(new TitleSearch { Title = t.title1 }).FirstOrDefault();
                titleMap.Add(t.id, savedT.TitleId);
            }

            ////////////
            /// CONTACTS
            /// //////
            ///

            var oldContacts = dbContext.contacts.ToList();
            foreach (contact c in oldContacts)
            {
                var savedContact = contacts.Search(c.city, c.fname, c.lname, c.organization).FirstOrDefault();
                if(savedContact != null)
                    contactMap.Add(c.id, savedContact.Id);
                else
                    contactMap.Add(c.id, 2);
            }

            var oldCompsSent = dbContext.contactfinals.ToList();
            List<Shipment> ships = new List<Shipment>();
            foreach (var ship in oldCompsSent)
            {
                int outValue;
                int quant = int.TryParse(ship.number, out outValue) ? outValue : 0;

                string status = "Pending";
                if (ship.contactfinal1.Trim().ToLower() == "shipped")
                    status = "Sent";

                int contactId = 2;
                int titleId = 268;
                if (contactMap.ContainsKey(ship.contact_id))
                    contactId = contactMap[ship.contact_id];
                if (titleMap.ContainsKey(ship.title_id))
                    titleId = titleMap[ship.title_id];

                Shipment shipment = new Shipment
                {
                    ContactId = contactId,
                    TitleId = titleId,
                    Status = status,
                    Quantity = quant,
                    DateSent = ship.modified_on,
                    Type = "Comp"

                };
                ships.Add(shipment);
            }

            shipments.Insert(ships, 1);
        }