Ejemplo n.º 1
0
 private async Task DeletePensionHoliday(Pension pension)
 {
     var pensionHolidays = await db.PensionHolidays.Where(p => p.PensionNo == pension.PensionNo).ToListAsync();
     db.PensionHolidays.RemoveRange(pensionHolidays);
 }
Ejemplo n.º 2
0
        private async Task<List<PensionHoliday>> AddPensionHoliday(Pension pension, string holiday)
        {
            List<PensionHoliday> pensionHolidays = new List<PensionHoliday>();
            
            var arr = HttpUtility.UrlDecode(holiday.ToString()).Split(',');

            for (int i = 0; i < arr.Length; i++)
            {
                PensionHoliday pensionHoliday = new PensionHoliday();
                pensionHoliday.PensionNo = pension.PensionNo;
                pensionHoliday.PensionHolidayCode = int.Parse(arr[i].ToString());
                pensionHolidays.Add(pensionHoliday);
            }

            db.PensionHolidays.AddRange(pensionHolidays);
            await db.SaveChangesAsync();

            return pensionHolidays;
        }
Ejemplo n.º 3
0
        private async Task<List<PensionService>> AddPensionService(Pension pension, string service)
        {
            List<PensionService> pensionServices = new List<PensionService>();
            var arr = HttpUtility.UrlDecode(service.ToString()).Split(',');

            for (int i = 0; i < arr.Length; i++)
            {
                PensionService pensionService = new PensionService();
                pensionService.PensionNo = pension.PensionNo;
                pensionService.PensionServiceCode = int.Parse(arr[i].ToString());
                pensionServices.Add(pensionService);
            }

            db.PensionServices.AddRange(pensionServices);
            await db.SaveChangesAsync();

            return pensionServices;
        }
Ejemplo n.º 4
0
 private async Task DeletePensionService(Pension pension)
 {
     var pensionServices = await db.PensionServices.Where(p => p.PensionNo == pension.PensionNo).ToListAsync();
     db.PensionServices.RemoveRange(pensionServices);
 }
Ejemplo n.º 5
0
        public async Task<IHttpActionResult> PostPension()
        {
            PetterResultType<Pension> petterResultType = new PetterResultType<Pension>();
            List<Pension> pensions = new List<Pension>();
            List<PensionService> pensionServices = new List<PensionService>();
            List<PensionHoliday> pensionHolidays = new List<PensionHoliday>();
            Pension pension = new Pension();
            string pensionService = string.Empty;
            string pensionHoliday = string.Empty;

            if (Request.Content.IsMimeMultipartContent())
            {
                string folder = HostingEnvironment.MapPath(UploadPath.PensionPath);
                Utilities.CreateDirectory(folder);

                var provider = await Request.Content.ReadAsMultipartAsync();

                foreach (var content in provider.Contents)
                {
                    string fieldName = content.Headers.ContentDisposition.Name.Trim('"');
                    if (!string.IsNullOrEmpty(content.Headers.ContentDisposition.FileName))
                    {
                        var file = await content.ReadAsByteArrayAsync();

                        string fileName = Utilities.additionFileName(content.Headers.ContentDisposition.FileName.Trim('"'));

                        if (!FileExtension.PensionExtensions.Any(x => x.Equals(Path.GetExtension(fileName.ToLower()), StringComparison.OrdinalIgnoreCase)))
                        {
                            petterResultType.IsSuccessful = false;
                            petterResultType.JsonDataSet = null;
                            petterResultType.ErrorMessage = ResultErrorMessage.FileTypeError;
                            return Ok(petterResultType);
                        }

                        string fullPath = Path.Combine(folder, fileName);
                        File.WriteAllBytes(fullPath, file);
                        string thumbnamil = Path.GetFileNameWithoutExtension(fileName) + "_thumbnail" + Path.GetExtension(fileName);

                        Utilities.ResizeImage(fullPath, thumbnamil, FileSize.PensionWidth, FileSize.PensionHeight, ImageFormat.Png);
                        pension.FileName = fileName;
                        pension.FilePath = UploadPath.PensionPath.Replace("~", "");
                    }
                    else
                    {
                        string str = await content.ReadAsStringAsync();
                        string item = HttpUtility.UrlDecode(str);

                        #region switch case
                        switch (fieldName)
                        {
                            case "PensionNo":
                                pension.PensionNo = int.Parse(item);
                                break;
                            case "CompanyNo":
                                pension.CompanyNo = int.Parse(item);
                                break;
                            case "PensionName":
                                pension.PensionName = item;
                                break;
                            case "PensionAddr":
                                pension.PensionAddr = item;
                                break;
                            case "FileName":
                                pension.FileName = item;
                                break;
                            case "FilePath":
                                pension.FilePath = item;
                                break;
                            case "StartTime":
                                pension.StartTime = item;
                                break;
                            case "EndTime":
                                pension.EndTime = item;
                                break;
                            case "Introduction":
                                pension.Introduction = item;
                                break;
                            case "Latitude":
                                pension.Latitude = Convert.ToDouble(item);
                                break;
                            case "Longitude":
                                pension.Longitude = Convert.ToDouble(item);
                                break;
                            //case "Grade":
                            //    pension.Grade = Convert.ToDouble(item);
                            //    break;
                            //case "ReviewCount":
                            //    pension.ReviewCount = int.Parse(item);
                            //    break;
                            //case "Bookmark":
                            //    pension.Bookmark = int.Parse(item);
                            //    break;
                            case "PensionServices":
                                pensionService = item;
                                break;
                            case "PensionHolidays":
                                pensionHoliday = item;
                                break;
                            default:
                                break;
                        }
                        #endregion switch case
                    }
                }

                string point = string.Format("POINT({0} {1})", pension.Longitude, pension.Latitude);
                pension.Coordinate = DbGeography.FromText(point);
                pension.DateCreated = DateTime.Now;
                pension.DateModified = DateTime.Now;
                db.Pensions.Add(pension);
                int num = await this.db.SaveChangesAsync();

                if (!string.IsNullOrWhiteSpace(pensionService))
                {
                    List<PensionService> list = await AddPensionService(pension, pensionService);
                    pension.PensionServices = list;
                }

                if (!string.IsNullOrWhiteSpace(pensionHoliday))
                {
                    List<PensionHoliday> list = await AddPensionHoliday(pension, pensionHoliday);
                    pension.PensionHolidays = list;
                }

                pensions.Add(pension);
                petterResultType.IsSuccessful = true;
                petterResultType.JsonDataSet = pensions;
            }
            else
            {
                petterResultType.IsSuccessful = false;
                petterResultType.JsonDataSet = null;
            }

            return Ok(petterResultType);
        }