private void GetDrawingApprovalData(int jobId, enterprise.QueryResult result, double?version, int employeeNumber, double?drawHour, DateTime?dueDate, int requisitionId, string drawingType, string sfDrawingID, double?NumofDrawings, DateTime?dueTime, DateTime?issueDateTime) { try { if (version == null || result == null || (result != null && result.size == 0)) { return; } //cast query results IEnumerable <enterprise.ProcessInstance> processInstanceList = result.records.Cast <enterprise.ProcessInstance>(); foreach (var el in processInstanceList) { int taskType = 501; short taskStatus = 549; if (drawingType.Trim() == "Structure") { taskType = 551; taskStatus = 599; } if (el.Status == "Pending") { int drawingID = CommonMethods.GetMISID(TableName.Sales_Dispatching, sfDrawingID, salesForceProjectID); if (drawingID == 0) { //not exist var vm = new SubmitDrawingRequestVm(requisitionId, employeeNumber); if (dueDate != null) { if (dueTime != null) { TimeZone localZone = TimeZone.CurrentTimeZone; DateTime currentUTC = localZone.ToUniversalTime(dueTime.Value); DateTime localTime = new DateTime(dueDate.Value.Year, dueDate.Value.Month, dueDate.Value.Day, currentUTC.Hour, currentUTC.Minute, 00); if (localZone.IsDaylightSavingTime(localTime)) { localTime = localTime.AddHours(-1); } vm.FormatedRequiredTime = localTime.ToString("MMM dd, yyyy hh:mm tt"); } else { vm.FormatedRequiredTime = new DateTime(dueDate.Value.Year, dueDate.Value.Month, dueDate.Value.Day, dueDate.Value.Hour, dueDate.Value.Minute, 00).ToString("MMM dd, yyyy hh:mm tt"); } } else { DateTime dt1 = MyDateTime.GetDateOfAddedBusinessDays(DateTime.Today, 2); DateTime dt2 = DateTime.Now.AddMinutes(2); vm.FormatedRequiredTime = new DateTime(dt1.Year, dt1.Month, dt1.Day, dt2.Hour, dt2.Minute, 00).ToString("MMM dd, yyyy hh:mm tt"); } long taskID; if (issueDateTime == null) { taskID = vm.Create(); } else { taskID = vm.Create(issueDateTime.Value.ToLocalTime()); } if (taskID > 0) { CommonMethods.InsertToMISSalesForceMapping(TableName.Sales_Dispatching, sfDrawingID, taskID.ToString(), salesForceProjectID); } } /* * var sales_Dispatching = _db.Sales_Dispatching.Where(x => x.JobID == jobId && x.TaskType == taskType && x.Importance == version).FirstOrDefault(); * if (sales_Dispatching == null) * { * var vm = new SubmitDrawingRequestVm(requisitionId, employeeNumber); * if (dueDate != null) * { * vm.FormatedRequiredTime = new DateTime(dueDate.Value.Year, dueDate.Value.Month, dueDate.Value.Day, dueDate.Value.Hour, dueDate.Value.Minute, 00).ToString("MMM dd, yyyy hh:mm tt"); * } * else * { * DateTime dt1 = MyDateTime.GetDateOfAddedBusinessDays(DateTime.Today, 2); * DateTime dt2 = DateTime.Now.AddMinutes(2); * vm.FormatedRequiredTime = * new DateTime(dt1.Year, dt1.Month, dt1.Day, dt2.Hour, dt2.Minute, 00).ToString("MMM dd, yyyy hh:mm tt"); * } * vm.Create(); * } * */ } else if (el.Status == "Approved") { int drawingID = CommonMethods.GetMISID(TableName.Sales_Dispatching, sfDrawingID, salesForceProjectID); if (drawingID > 0) { var sales_Dispatching = _db.Sales_Dispatching.Where(x => x.TaskID == drawingID).FirstOrDefault(); if (sales_Dispatching != null) { if (drawHour != null) { sales_Dispatching.WorkedHour = drawHour; } if (NumofDrawings != null) { sales_Dispatching.NumberOfDrawing = Convert.ToInt32(NumofDrawings); } sales_Dispatching.Status = taskStatus; if (el.CompletedDate != null) { sales_Dispatching.FinishedDate = el.CompletedDate.Value.ToLocalTime(); } _db.Entry(sales_Dispatching).State = EntityState.Modified; _db.SaveChanges(); } } } else if (el.Status == "Removed") { int drawingID = CommonMethods.GetMISID(TableName.Sales_Dispatching, sfDrawingID, salesForceProjectID); if (drawingID > 0) { var sales_Dispatching = _db.Sales_Dispatching.Where(x => x.TaskID == drawingID).FirstOrDefault(); if (sales_Dispatching != null) { /* delete a row in Sales_Dispatching */ _db.Sales_Dispatching.Remove(sales_Dispatching); _db.SaveChanges(); } } } } } catch (Exception e) { LogMethods.Log.Error("GetDrawingApprovalData:Error:" + e.Message); } }
private void GetEstimationApprovalData(string sfEstimaitonID, int jobId, int estRevID, enterprise.QueryResult result, double?version, int employeeNumber, double?estHour, DateTime?dueDate, DateTime?dueTime, DateTime?issueDateTime) { try { if (version == null || result == null || (result != null && result.size == 0)) { return; } //cast query results IEnumerable <enterprise.ProcessInstance> processInstanceList = result.records.Cast <enterprise.ProcessInstance>(); foreach (var el in processInstanceList) { if (el.Status == "Pending") { var sales_Dispatching = _db.Sales_Dispatching.Where(x => x.JobID == jobId && x.TaskType == 201 && x.Importance == version).FirstOrDefault(); if (sales_Dispatching == null) { SubmitEstimationRequestVm vm = new SubmitEstimationRequestVm(); vm.JobID = jobId; vm.EstRevID = estRevID; vm.SubmitBy = employeeNumber; vm.EstimatorID = 8; //mr Fan if (dueDate != null) { if (dueTime != null) { TimeZone localZone = TimeZone.CurrentTimeZone; DateTime currentUTC = localZone.ToUniversalTime(dueTime.Value); DateTime localTime = new DateTime(dueDate.Value.Year, dueDate.Value.Month, dueDate.Value.Day, currentUTC.Hour, currentUTC.Minute, 00); if (localZone.IsDaylightSavingTime(localTime)) { localTime = localTime.AddHours(-1); } vm.FormatedRequiredTime = localTime.ToString("MMM dd, yyyy hh:mm tt"); } else { vm.FormatedRequiredTime = new DateTime(dueDate.Value.Year, dueDate.Value.Month, dueDate.Value.Day, dueDate.Value.Hour, dueDate.Value.Minute, 00).ToString("MMM dd, yyyy hh:mm tt"); } } else { DateTime dt1 = MyDateTime.GetDateOfAddedBusinessDays(DateTime.Today, 2); DateTime dt2 = DateTime.Now.AddMinutes(2); vm.FormatedRequiredTime = new DateTime(dt1.Year, dt1.Month, dt1.Day, dt2.Hour, dt2.Minute, 00).ToString("MMM dd, yyyy hh:mm tt"); } if (issueDateTime != null) { vm.Create(issueDateTime.Value.ToLocalTime()); } else { vm.Create(); } vm.OnEstimationSubmittedWithoutChangingEstVer(); } } else if (el.Status == "Approved") { var sales_Dispatching = _db.Sales_Dispatching.Where(x => x.JobID == jobId && x.TaskType == 201 && x.Importance == version).FirstOrDefault(); if (sales_Dispatching != null) { if (estHour != null) { sales_Dispatching.WorkedHour = estHour; } sales_Dispatching.Status = 249; if (el.CompletedDate != null) { sales_Dispatching.FinishedDate = el.CompletedDate.Value.ToLocalTime(); } _db.Entry(sales_Dispatching).State = EntityState.Modified; _db.SaveChanges(); } } else if (el.Status == "Removed") { var sales_Dispatching = _db.Sales_Dispatching.Where(x => x.JobID == jobId && x.TaskType == 201 && x.Importance == version + 1).FirstOrDefault(); if (sales_Dispatching != null) { /* delete a row in Sales_Dispatching */ _db.Sales_Dispatching.Remove(sales_Dispatching); _db.SaveChanges(); } } } } catch (Exception e) { LogMethods.Log.Error("GetEstimationApprovalData:Error:" + e.Message); } }