//Export Items to CSV
        public byte[] Export(int id)
        {
            StringBuilder sb = new StringBuilder();

            //Add Headers
            List <string> headers = new List <string>();

            headers.Add("Policy Group Name");
            headers.Add("Deal Code Value");
            headers.Add("Deal Code Description");
            headers.Add("Deal Code Type Description");
            headers.Add("Location Name");
            headers.Add("Location Code");
            headers.Add("GDS Name ");
            headers.Add("Product Name");
            headers.Add("Supplier Name");
            headers.Add("Supplier Code");
            headers.Add("Travel Indicator Description");
            headers.Add("Travel Indicator");
            headers.Add("Endorsement");
            headers.Add("Endorsement Override");
            headers.Add("OSI 1");
            headers.Add("Enabled Flag");
            headers.Add("Enabled Date");
            headers.Add("Expiry Date");
            headers.Add("Creation TimeStamp");
            headers.Add("Last Update Time Stamp");

            sb.AppendLine(String.Join(",", headers.Select(x => x.ToString()).ToArray()));

            //Add Items
            List <PolicySupplierDealCode> policySupplierDealCodes = db.PolicySupplierDealCodes.Where(x => x.PolicyGroupId == id).ToList();

            foreach (PolicySupplierDealCode item in policySupplierDealCodes)
            {
                //Edit Item
                EditItemForDisplay(item);

                //Location
                PolicyLocationRepository policyLocationRepository = new PolicyLocationRepository();
                PolicyLocation           policyLocation           = new PolicyLocation();
                policyLocation = policyLocationRepository.GetPolicyLocation(Int32.Parse(item.PolicyLocationId.ToString()));
                if (policyLocation != null)
                {
                    policyLocationRepository.EditForDisplay(policyLocation);
                }

                //TravelIndicator
                TravelIndicatorRepository travelIndicatorRepository = new TravelIndicatorRepository();
                TravelIndicator           travelIndicator           = new TravelIndicator();
                if (item.TravelIndicator != null)
                {
                    travelIndicator = travelIndicatorRepository.GetTravelIndicator(item.TravelIndicator);
                }

                //PolicySupplierDealCodeOSI
                PolicySupplierDealCodeOSI policySupplierDealCodeOSI = null;
                if (item.PolicySupplierDealCodeOSIs != null)
                {
                    policySupplierDealCodeOSI = item.PolicySupplierDealCodeOSIs.FirstOrDefault();
                }

                string date_format = "MM/dd/yy HH:mm";

                sb.AppendFormat("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},{16},{17},{18},{19}",
                                !string.IsNullOrEmpty(item.PolicyGroupName) ? item.PolicyGroupName : "",
                                !string.IsNullOrEmpty(item.PolicySupplierDealCodeValue) ? item.PolicySupplierDealCodeValue : "",
                                !string.IsNullOrEmpty(item.PolicySupplierDealCodeDescription) ? item.PolicySupplierDealCodeDescription : "",
                                !string.IsNullOrEmpty(item.PolicySupplierDealCodeTypeDescription) ? item.PolicySupplierDealCodeTypeDescription : "",

                                !string.IsNullOrEmpty(policyLocation.LocationName) ? policyLocation.LocationName : "",
                                !string.IsNullOrEmpty(policyLocation.LocationCode) ? policyLocation.LocationCode : "",

                                !string.IsNullOrEmpty(item.GDSName) ? item.GDSName : "",

                                !string.IsNullOrEmpty(item.ProductName) ? item.ProductName : "",
                                !string.IsNullOrEmpty(item.SupplierName) ? item.SupplierName : "",
                                !string.IsNullOrEmpty(item.SupplierCode) ? item.SupplierCode : "",

                                //Valid when Deal Code Type = Tour Code
                                travelIndicator != null && !string.IsNullOrEmpty(travelIndicator.TravelIndicatorDescription) ? travelIndicator.TravelIndicatorDescription : "",
                                item.TravelIndicator != null && !string.IsNullOrEmpty(item.TravelIndicator) ? item.TravelIndicator : "",
                                item.Endorsement != null && !string.IsNullOrEmpty(item.Endorsement) ? item.Endorsement : "",
                                item.EndorsementOverride != null && !string.IsNullOrEmpty(item.EndorsementOverride) ? item.EndorsementOverride : "",

                                policySupplierDealCodeOSI != null ? policySupplierDealCodeOSI.PolicySupplierDealCodeOSIDescription : "",
                                item.EnabledFlag == true ? "True" : "False",
                                item.EnabledDate.HasValue ? item.EnabledDate.Value.ToString(date_format) : "",
                                item.ExpiryDate.HasValue ? item.ExpiryDate.Value.ToString(date_format) : "",
                                item.CreationTimestamp.HasValue ? item.CreationTimestamp.Value.ToString(date_format) : "",
                                item.LastUpdateTimestamp.HasValue ? item.LastUpdateTimestamp.Value.ToString(date_format) : ""
                                );

                sb.Append(Environment.NewLine);
            }

            return(Encoding.ASCII.GetBytes(sb.ToString()));
        }
Exemplo n.º 2
0
        public ActionResult Edit(PolicySupplierDealCode policySupplierDealCode, FormCollection formCollection)
        {
            PolicyGroup policyGroup = new PolicyGroup();

            policyGroup = policyGroupRepository.GetGroup(policySupplierDealCode.PolicyGroupId);

            //Check Exists
            if (policyGroup == null)
            {
                ViewData["ActionMethod"] = "EditPost";
                return(View("RecordDoesNotExistError"));
            }

            //Check Access Rights
            RolesRepository rolesRepository = new RolesRepository();

            if (!rolesRepository.HasWriteAccessToPolicyGroup(policySupplierDealCode.PolicyGroupId))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }

            //Create PolicySupplierDealCodeOSIs from Post values
            System.Data.Linq.EntitySet <PolicySupplierDealCodeOSI> PolicySupplierDealCodeOSIs = new System.Data.Linq.EntitySet <PolicySupplierDealCodeOSI>();

            foreach (string key in formCollection)
            {
                if (key.StartsWith("PolicySupplierDealCodeOSI") && !string.IsNullOrEmpty(formCollection[key]))
                {
                    PolicySupplierDealCodeOSI policySupplierDealCodeOSI = new PolicySupplierDealCodeOSI()
                    {
                        PolicySupplierDealCodeOSIDescription    = formCollection[key],
                        PolicySupplierDealCodeOSISequenceNumber = int.Parse(key.Replace("PolicySupplierDealCodeOSI_", ""))
                    };

                    PolicySupplierDealCodeOSIs.Add(policySupplierDealCodeOSI);
                }
            }

            if (PolicySupplierDealCodeOSIs != null && PolicySupplierDealCodeOSIs.Count > 0)
            {
                policySupplierDealCode.PolicySupplierDealCodeOSIs = PolicySupplierDealCodeOSIs;
            }

            //Update PolicySupplierDealCode Model From Form
            try
            {
                UpdateModel(policySupplierDealCode, "PolicySupplierDealCode");
            }
            catch
            {
                string n = "";
                foreach (ModelState modelState in ViewData.ModelState.Values)
                {
                    foreach (ModelError error in modelState.Errors)
                    {
                        n += error.ErrorMessage;
                    }
                }
                ViewData["Message"] = "ValidationError : " + n;
                return(View("Error"));
            }

            //Database Update
            try
            {
                policySupplierDealCodeRepository.Update(policySupplierDealCode);
            }
            catch (SqlException ex)
            {
                //Versioning Error
                if (ex.Message == "SQLVersioningError")
                {
                    ViewData["ReturnURL"] = "/PolicySupplierDealCode.mvc/Edit/" + policySupplierDealCode.PolicySupplierDealCodeId;
                    return(View("VersionError"));
                }

                //Generic Error
                ViewData["Message"] = "There was a problem with your request, please see the log file or contact an administrator for details";
                return(View("Error"));
            }

            //Return to Form
            return(RedirectToAction("List", new { id = policySupplierDealCode.PolicyGroupId }));
        }