public async Task<IHttpActionResult> CopyMenuData([FromBody]ParmCopyMenuData parm) { db0 = getDB0(); try { if (parm.copy_start == null || parm.copy_end == null) { return Ok(new { result = false, msg = "請填寫完整的日期~!" }); } DateTime start = (DateTime)parm.copy_start; DateTime end = ((DateTime)parm.copy_end).AddDays(1); bool check_dailyMenu = db0.DailyMenu.Any(x => x.company_id == this.companyId & x.day >= start & x.day < end); if (check_dailyMenu) { return Ok(new { result = false, msg = "要複製的日期內已有安排「每日菜單」,請確認後再複製~!" }); } #region copy var items = db0.MenuCopy.Where(x => x.company_id == this.companyId & x.menu_copy_template_id == parm.main_id) .OrderBy(x => new { x.day, x.meal_type }).ToList(); foreach (var i in items) { var setDayObj = start.AddDays(i.day - 1); var item = new DailyMenu() { dail_menu_id = GetNewId(ProcCore.Business.CodeTable.DailyMenu), day = setDayObj, meal_type = i.meal_type, i_InsertUserID = this.UserId, i_InsertDateTime = DateTime.Now, i_InsertDeptID = this.departmentId, company_id = this.companyId, i_Lang = "zh-TW" }; db0.DailyMenu.Add(item); foreach (var corr in i.MenuCopyOfConstitute) { var c = new DailyMenuOfConstitute() { constitute_id = corr.constitute_id, dail_menu_id = item.dail_menu_id, i_InsertUserID = this.UserId, i_InsertDateTime = DateTime.Now, i_InsertDeptID = this.departmentId, company_id = this.companyId, i_Lang = "zh-TW" }; db0.DailyMenuOfConstitute.Add(c); } } await db0.SaveChangesAsync(); #endregion return Ok(new { result = true }); } catch (Exception ex) { return Ok(new { result = false, msg = ex.ToString() }); } finally { db0.Dispose(); } }
public async Task<IHttpActionResult> PostDailyMenuOfConstitute([FromBody]ParmDailyMenuOfConstitute parm) { ResultInfo r = new ResultInfo(); try { #region working a db0 = getDB0(); var item = db0.DailyMenuOfConstitute.Where(x => x.constitute_id == parm.constitute_id && x.dail_menu_id == parm.dail_menu_id).FirstOrDefault(); if (item == null) { item = new DailyMenuOfConstitute() { constitute_id = parm.constitute_id, dail_menu_id = parm.dail_menu_id, i_InsertUserID = this.UserId, i_InsertDateTime = DateTime.Now, i_InsertDeptID = this.departmentId, company_id = this.companyId, i_Lang = "zh-TW" }; db0.DailyMenuOfConstitute.Add(item); } await db0.SaveChangesAsync(); r.result = true; r.id = item.dail_menu_id; return Ok(r); #endregion } catch (Exception ex) { r.result = false; r.message = ex.Message; return Ok(r); } finally { db0.Dispose(); } }