private async Task DeletePensionHoliday(Pension pension) { var pensionHolidays = await db.PensionHolidays.Where(p => p.PensionNo == pension.PensionNo).ToListAsync(); db.PensionHolidays.RemoveRange(pensionHolidays); }
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; }
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; }
private async Task DeletePensionService(Pension pension) { var pensionServices = await db.PensionServices.Where(p => p.PensionNo == pension.PensionNo).ToListAsync(); db.PensionServices.RemoveRange(pensionServices); }
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); }