public HttpResponseMessage PostBundle(JobFormBundleApiDTO jobFormBundle) { try { if (jobFormBundle == null) { return CreateWrongFormatMessage(); } //HttpResponseMessage responseMessage = getAPIAuthorizationMessage(); //if (responseMessage != null) // return responseMessage; HttpResponseMessage responseMessage = getTokenAuthorizationMessage(); if (responseMessage != null) return responseMessage; IJobFormService jobService = (new ServiceFactory(ApplicationSetting.Current.DefaultConnectionString)).GetJobFormService(); jobService.ApiPostBundle(jobFormBundle); return CreateEmptyMessage(); } catch (Exception exception) { return CreateServerErrorMessages(exception); } }
public void ApiPostBundle(JobFormBundleApiDTO jobFormBundle) { JobFormService jobFormService = new JobFormService(this.connectionString, this.consumerInfo); CrmtJobForm jobForm = null; CrmtJobFormSignature jobFormSignature = null; IEnumerable<CrmtJobFormItemValueGroup> jobFormItemValueGroups = null; IEnumerable<CrmtJobFormSubItemValue> jobFormSubItemValues = null; if (jobFormBundle.jobForm != null) { Mapper.CreateMap<JobFormDTO, CrmtJobForm>(); jobForm = AutoMapper.Mapper.Map<CrmtJobForm>(jobFormBundle.jobForm); } if (jobFormBundle.jobFormSignature != null) { Mapper.CreateMap<JobFormSignatureDTO, CrmtJobFormSignature>(); jobFormSignature = AutoMapper.Mapper.Map<CrmtJobFormSignature>(jobFormBundle.jobFormSignature); } if (jobFormBundle.jobFormItemValueGroups != null) { Mapper.CreateMap<JobFormItemValueGroupDTO, CrmtJobFormItemValueGroup>(); jobFormItemValueGroups = AutoMapper.Mapper.Map<IEnumerable<CrmtJobFormItemValueGroup>>(jobFormBundle.jobFormItemValueGroups); } if (jobFormBundle.jobFormSubItemValues != null) { Mapper.CreateMap<JobFormSubItemValueDTO, CrmtJobFormSubItemValue>(); jobFormSubItemValues = AutoMapper.Mapper.Map<IEnumerable<CrmtJobFormSubItemValue>>(jobFormBundle.jobFormSubItemValues); } using (var ds = new DataService(this.connectionString, this.consumerInfo)) { if (jobFormBundle.jobFormWorkingDate != null) { CrmtOrder dbOrder = ds.CrmtOrder.GetAllNotDelete().Where(x => x.nID == jobForm.nJobID).FirstOrDefault(); if (dbOrder != null && dbOrder.tActualStartTime == null && dbOrder.tActualEndTime == null) { if (dbOrder.sFault.Contains("[") && dbOrder.sFault.Contains("]") && dbOrder.nIsOrder == 1) { Regex sFaultRegex = new Regex(@"\[([^\]]+)\]"); dbOrder.sFault = sFaultRegex.Replace(dbOrder.sFault, "[完成保養]"); } dbOrder.nOrderStatus = 3; dbOrder.dCompletionDate = jobFormBundle.jobFormWorkingDate.dCompletionDate; dbOrder.tActualStartTime = jobFormBundle.jobFormWorkingDate.tActualStartTime; dbOrder.tActualEndTime = jobFormBundle.jobFormWorkingDate.tActualEndTime; ds.CrmtOrder.Update(dbOrder); } } if (jobForm != null) { CrmtJobForm dbJobForm = ds.CrmtJobForm.GetAllNotDelete().Where(x => x.gID == jobForm.gID).FirstOrDefault(); if (dbJobForm == null) { ds.CrmtJobForm.Add(jobForm); } } if (jobFormSignature != null) { CrmtJobFormSignature dbJobFormSignature = ds.CrmtJobFormSignature.GetAllNotDelete().Where(x => x.gID == jobFormSignature.gID).FirstOrDefault(); if (dbJobFormSignature == null) { ds.CrmtJobFormSignature.Add(jobFormSignature); } } if (jobFormItemValueGroups != null) { foreach (CrmtJobFormItemValueGroup group in jobFormItemValueGroups) { CrmtJobFormItemValueGroup dbJobFormItemValueGroup = ds.CrmtJobFormItemValueGroup.GetAllNotDelete().Where(x => x.gID == group.gID).FirstOrDefault(); if (dbJobFormItemValueGroup == null) { ds.CrmtJobFormItemValueGroup.Add(group); } } } if (jobFormSubItemValues != null) { foreach (CrmtJobFormSubItemValue itemValue in jobFormSubItemValues) { CrmtJobFormSubItemValue dbJobFormSubItemValue = ds.CrmtJobFormSubItemValue.GetAllNotDelete().Where(x => x.gID == itemValue.gID).FirstOrDefault(); if (dbJobFormSubItemValue == null) { ds.CrmtJobFormSubItemValue.Add(itemValue); } } } ds.SaveChanges(); } }