Ejemplo n.º 1
0
        public OrderStatus GetOrder(string input)
        {
            var hej = context.Connection.State;
            var query = from c in context.AoInCampaigns
                        where c.CampaignNumber == input
                        //select c;
                        select new
                        {
                            OrderNumber = c.CampaignNumber,
                            Producer = c.ML_INTERNETADINFOs.OrderByDescending(ai => ai.ID).FirstOrDefault().UsrUser.UserFname + " " + c.ML_INTERNETADINFOs.OrderByDescending(ai => ai.ID).FirstOrDefault().UsrUser.UserLname,
                            ProducerEmail = c.ML_INTERNETADINFOs.OrderByDescending(ai => ai.ID).FirstOrDefault().UsrUser.EmailAddress,
                            //SalesPerson = from u in context.UsrUsers
                            //              where u.UserId == c.AoInFlights.FirstOrDefault().AoOrderCustomer.Customer.SecondarySalesPersonId
                            //              select u.UserFname + " " + u.UserLname,
                            Status = c.ML_INTERNETADINFOs.OrderByDescending(ai => ai.ID).FirstOrDefault().AoAdProdStatus.Name,
                            Start = c.StartDate,
                            Stop = c.EndDate
                        };

            OrderStatus neworder = new OrderStatus();

            // switch case, enum, på status?
            if (query.Count() > 0)
            {
                //var hej = query.FirstOrDefault().//query.ToList().FirstOrDefault().ML_INTERNETADINFOs.FirstOrDefault().AoAdProdStatus.Name;

                var order = query.FirstOrDefault();

                //neworder.Heading = "";
                //neworder.Description = new List<string>()
                //        {
                //            ""
                //        };
                //neworder.Color = "";
                //break;
                switch (order.Status.ToLower().Trim())
                {
                    case "ny":
                        neworder.Heading = "Ej kategoriserad";
                        neworder.Description = new List<string>()
                        {
                            "Vi har inte kategoriserat din order för produktion än. Vi påbörjar vanligtvis produktionen av en annons två arbetsdagar innan startdatumet."
                        };
                        neworder.Color = "blue";
                        break;
                    case "bearbetas":
                        neworder.Heading = "Din annons produceras just nu!";
                        neworder.Description = new List<string>()
                        {
                            String.Format("Din annons produceras just nu av <a href='mailto:{1}' title='Maila producenten'>{0}</a>. Om inget annat angets i \"Interna noteringar\" så skickas korrektur till faktisk säljare så fort producenten är färdig med annonsen.",
                                order.Producer,
                                order.ProducerEmail)
                                //order.SalesPerson.FirstOrDefault().ToString())
                        };
                        neworder.Color = "green";
                        break;
                    case "vilande":
                        neworder.Heading = "Redo för produktion";
                        neworder.Description = new List<string>()
                        {
                            "Din annons är just nu redo för produktion. Vi kommer att påbörja produktionen av din order arbetsdagen före annonsens startdatum.",
                            "När din annons har börjat bearbetas ser du det på denna sida, så välkommen tillbaka!"
                        };
                        neworder.Color = "green";
                        break;
                    case "klar":
                        neworder.Heading = "Din annons är klar";
                        neworder.Description = new List<string>()
                        {
                            "Din annons är så klar som den kan bli! Om det är en webbannons så kan du följa statistiken i <a href='http://rapport.digital-produktion.se'>rapportverktyget</a>."
                        };
                        neworder.Color = "green";
                        break;
                    case "korrektur skickat":
                        neworder.Heading = "Korrektur har skickats";
                        neworder.Description = new List<string>()
                        {
                            String.Format("Din annons har producerats av {0} som nu har skickat korrektur till faktisk säljare om ingen annan korrekturadress angets.", order.Producer),
                            "Om du inte svarar på korrekturet senast dagen innan annonsens startdatum ansvarar vi inte för eventuell försening av annonsens publicering."
                        };
                        neworder.Color = "blue";
                        break;
                    case "korrektur klart":
                        neworder.Heading = "Korrekturet är godkänt!";
                        neworder.Description = new List<string>()
                        {
                            "Korrekturet vi skickade har blivit godkänt, och annonsen väntar just nu på att bokas in av oss för exponering på siten/skylten."
                        };
                        neworder.Color = "green";
                        break;
                    case "sent bokad":
                        neworder.Heading = "Annonsen är sent bokad";
                        neworder.Description = new List<string>()
                        {
                            "Vi har markerat annonsen som \"Sent bokad\", vilket betyder att annonsen bokats in senare än två arbetsdagar innan annonsens startdatum. Detta gör att vi nedprioriterar produktionen på denna annons markant, och det finns risk att den inte kommer ut i tid.",
                            "Har du några frågor angående detta så får du gärna höra av dig till Digital Produktions support."
                        };
                        neworder.Color = "red";
                        break;
                    case "lev. färdig":
                        neworder.Heading = "Annosen levereras färdig";
                        neworder.Description = new List<string>()
                        {
                            "Det har framgått att annonsen i fråga skickas färdig till oss från kunden. Vi bokar in den för visning senast en arbetsdag innan startdatum, givet att vi fått in den i tid.",
                            "När vi har fått in färdigt material till denna order så ser du det på denna sida, välkommen tillbaka!"
                        };
                        neworder.Color = "blue";
                        break;
                    case "undersöks":
                        neworder.Heading = "Annonsen går ej att producera";
                        neworder.Description = new List<string>()
                        {
                            "Vi vet inte vad vi ska göra med denna annons, och har därför efterlyst manus eller material till ansvarig person.",
                            String.Format("Om vi inte får tag i det vi söker är det tyvärr vanligt att annonsen faller mellan stolarna och inte publiceras alls. Det är därför mycket viktigt att du som är ansvarig för annonsen hör av dig till den som undersöker annonsen ({0}) eller till Digital Produktions support", order.Producer )
                        };
                        neworder.Color = "red";
                        break;
                    case "ej komplett manus":
                        neworder.Heading = "Annonsen går ej att producera";
                        neworder.Description = new List<string>()
                        {
                            "Anledningen till att annonsen ej går att producera är att vi inte har fått några som helst instruktioner via \"Interna Noteringar\" om hur vi ska hantera denna annons.",
                            "Om inte tydigare instruktioner kommer in så kommer tyvärr annonsen falla mellan stolarna och inte produceras alls. Det är därför mycket viktigt att du som är ansvarig för annonsen hör av dig till Digital Produktions support."
                        };
                        neworder.Color = "red";
                        break;
                    case "manus sent":
                        neworder.Heading = "Sent manus";
                        neworder.Description = new List<string>()
                        {
                            "Manus inkom sent till denna annons (senare än två arbetsdagar innan startdatum), vilket gör att vi nedprioriterar produktionen på annonsen markant, och det finns risk att den inte kommer ut i tid.",
                            "Hör gärna av dig till Digital Produktions support om då har några frågor angående detta."
                        };
                        neworder.Color = "red";
                        break;
                    case "tidigt korr":
                        neworder.Heading = "Tidigt korrektur ska produceras";
                        neworder.Description = new List<string>()
                        {
                            "Bokningen anser ett tidigt korrektur, vilket vi kommer att producera två arbetsdagar innan startdatum för denna korrekturbokning."
                        };
                        neworder.Color = "blue";
                        break;
                    case "repetition":
                        neworder.Heading = "Repeteras av tidigare kampanj";
                        neworder.Description = new List<string>()
                        {
                            "Annonsen repeteras, enligt det ordernummer som nämns i \"Interna Noteringar\", senast en arbetsdag innan startdatum. Om inget ordernummer nämns i \"Interna noteringar\" kan vi inte garantera att vi repeterar rätt annons, så dubbelkolla gärna detta."
                        };
                        neworder.Color = "green";
                        break;
                    case "bokad":
                        neworder.Heading = "Inbokad i annonssystemet";
                        neworder.Description = new List<string>()
                        {
                            "Kampanjen är inbokad i annonssystemet (Cxense)."
                        };
                        neworder.Color = "blue";
                        break;
                    case "obekräftad":
                        neworder.Heading = "Redo att leverera!";
                        neworder.Description = new List<string>()
                        {
                            "Din annons är nu redo att börja leverera exponeringar på utsatt startdatum. Om din annons är en webbannons kan du kontrollera inbokningen samt följa statistiken i <a href='http://rapport.digital-produktion.se'>rapportverktyget</a>."
                        };
                        neworder.Color = "green";
                        break;
                    case "under 2d prod. tid":
                        neworder.Heading = "Sen åtkomst till underlag";
                        neworder.Description = new List<string>()
                        {
                            "Underlag för annonsen blir tillgängligt senare än två dagar innan startdatum. Detta gör att vi nedprioriterar produktionen på denna annons markant, och det finns risk att den inte kommer ut i tid.",
                            "Har du några frågor angående detta så får du gärna höra av dig till Digital Produktions support."
                        };
                        neworder.Color = "red";
                        break;
                    case "vilande färdigt":
                        neworder.Heading = "vilande färdigt";
                        neworder.Description = new List<string>()
                        {
                            "Annonsen har skickats färdig till oss och är nu redo för inbokning i annonssystemet. Vi bokar in den för visning senast en arbetsdag innan startdatum.",
                        };
                        neworder.Color = "green";
                        break;
                    case "repetition m. ändrin":
                        neworder.Heading = "repetition med ändring";
                        neworder.Description = new List<string>()
                        {
                            "Vi använder en existerande mall för annonsen vid produktionstillfället och ändrar endast mindre detaljer (eller länkning) efter manus."
                        };
                        neworder.Color = "blue";
                        break;
                    default:
                        neworder.Heading = "\"" + order.Status + "\"";
                        neworder.Description = new List<string>()
                        {
                            String.Format("Annonsen är just nu markerad som \"{0}\" i vår produktionslista. Bhöver du veta mer om hur detta påverkar din annons kan du höra av dig till Digital Produktions support.", order.Status)
                        };
                        neworder.Color = "blue";
                        break;

                }
            }
            else
            {
                neworder.Heading = "Vi kunde inte hitta din annons";
                neworder.Description = new List<string>()
                    {
                        "Hm, vi fick ingen träff på din sökning. Är du säker på att ordern är inbokad som en webbannons?"
                    };
                neworder.Color = "red";
            }

            return neworder;//new OrderStatus();
        }
Ejemplo n.º 2
0
        public OrderStatus GetOrderStatus()
        {
            //var test = "^[0-9]{7,10}\-[0-9]{2}";

            OrderStatus neutral = new OrderStatus()
            {
                Color = "blue",
                Heading = "Redo för produktion",
                Description = new List<string>()
                {
                    "Din bokning är redo för produktion! Vi påbörjar vanligtvis produktionen dagen innan startdatumet (xxxxxx), så håll utkik här om du vill veta vem av oss som producerar din annons."
                }
            };

            OrderStatus ontrack = new OrderStatus()
            {
                Color = "green",
                Heading = "Din annons produceras just nu",
                Description = new List<string>()
                {
                    "Din annons produceras just nu av (producent). Om inget annat angets i Interna oteringar så skickas korrektur till (faktisk säljare) så fort producenten är färdig med annonsen."
                }
            };

            OrderStatus somethingswrong = new OrderStatus()
            {
                Color = "red",
                Heading = "Ej komplett manus",
                Description = new List<string>()
                {
                    "Din bokning innehåller ingen information om hur vi ska producera annonsen. Den prioriteras därför lägre i vårt produktionsflöde än andra annonser som har ett korrekt manus. ",
                    "Har du manus till din annons? Skriv in det i ”Interna noteringar” och meddela [email protected] om ändringen!"
                }
            };

            var list = new List<OrderStatus>();
            list.Add(neutral);
            list.Add(ontrack);
            list.Add(somethingswrong);

            var orderstatus = list[new Random().Next(0, list.Count())];

            return orderstatus;
        }