Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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();
            }
        }