예제 #1
0
        //[Authorize]
        public IActionResult GetDeliveryOrder(Guid hblid, TransactionTypeEnum type)
        {
            string transactionType = DataTypeEx.GetType(type);
            var    result          = arrivalFreightChargeServices.GetDeliveryOrder(hblid, transactionType);

            return(Ok(result));
        }
예제 #2
0
        private List <OpsStageAssignedModel> MapListToModel(IQueryable <OpsStageAssigned> data)
        {
            var stages      = catStageApi.GetAll().Result;
            var departments = catDepartmentApi.GetAll().Result;
            var users       = userRepository.Get();
            var results     = new List <OpsStageAssignedModel>();

            foreach (var item in data)
            {
                var stage        = stages?.FirstOrDefault(x => x.Id == item.StageId);
                var assignedItem = mapper.Map <OpsStageAssignedModel>(item);
                assignedItem.StageCode          = stage?.Code;
                assignedItem.StageNameEN        = stage?.StageNameEn;
                assignedItem.Status             = assignedItem.Status?.Trim();
                assignedItem.DepartmentName     = stage == null? null: departments?.FirstOrDefault(x => x.Id == stage.DepartmentId)?.DeptName;
                assignedItem.DoneDate           = item.Status?.Trim() == DataTypeEx.GetStageStatus(StageEnum.Done) ? item.DatetimeModified : null;
                assignedItem.Description        = assignedItem.Description ?? stages.FirstOrDefault(x => x.Id == item.StageId).DescriptionEn;
                assignedItem.MainPersonInCharge = assignedItem.MainPersonInCharge != null?users.FirstOrDefault(x => x.Id == assignedItem.MainPersonInCharge)?.Username : assignedItem.MainPersonInCharge;

                assignedItem.RealPersonInCharge = assignedItem.RealPersonInCharge != null?users.FirstOrDefault(x => x.Id == assignedItem.RealPersonInCharge)?.Username : assignedItem.RealPersonInCharge;

                results.Add(assignedItem);
            }
            return(results);
        }
예제 #3
0
        public static DateTime?VerifySignature(string plaintext, string s_signature)
        {
            RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();

            rsa.ImportParameters(ConvertStringToKey(File.ReadAllText(_filePublicKey)));

            byte[] dataToVerify = Encoding.ASCII.GetBytes(plaintext);
            byte[] signature    = Convert.FromBase64String(s_signature);
            if (rsa.VerifyData(dataToVerify, new SHA1Managed(), signature))
            {
                string   plainData = Crypto.Decrypt(plaintext, "thuVIENwiForm!@#!");
                string[] dataOfKey = plainData.Split('[', ']');
                string   hashMACandComputerName = dataOfKey[1];
                string   loi = "";
                foreach (string mac in DataUseForSecurity.GetListMACs())
                {
                    if (Crypto.HashString(string.Format("[{0}][{1}]", System.Net.Dns.GetHostName(), mac)) == hashMACandComputerName)
                    {
                        DateTime?dateFrom = DataTypeEx.ddMMyyyy(dataOfKey[3]);
                        if (dateFrom != null && dateFrom.Value <= DataUseForSecurity.GetReadDate())
                        {
                            DateTime?dateTo = DataTypeEx.ddMMyyyy(dataOfKey[5]);
                            return(dateTo);
                        }
                        else
                        {
                            loi = "Vui lòng đặt lại ngày hệ thống!";
                        }
                    }
                    else
                    {
                        loi = "Mã không dành cho máy này!";
                    }
                }
                throw new Exception(loi);
            }
            else
            {
                throw new Exception("Mã không dành cho máy này!");
            }
        }
예제 #4
0
        public HandleState Update(OpsStageAssignedEditModel model)
        {
            var assigned = mapper.Map <OpsStageAssigned>(model);

            assigned.UserModified     = currentUser.UserID;
            assigned.DatetimeModified = DateTime.Now;
            var stageAssigneds   = DataContext.Get(x => x.JobId == model.JobId);
            var job              = opsTransRepository.First(x => x.Id == model.JobId);
            var jobCsTransaction = csTransactionReporsitory.First(x => x.Id == model.JobId);

            if (job == null)
            {
                if (jobCsTransaction.CurrentStatus != OperationConstants.Deleted && jobCsTransaction.CurrentStatus != OperationConstants.Finish)
                {
                    if (assigned.Status?.Trim() == DataTypeEx.GetStageStatus(StageEnum.Overdue))
                    {
                        jobCsTransaction.CurrentStatus = OperationConstants.Overdue;
                    }
                    if (assigned.Status.Contains(DataTypeEx.GetStageStatus(StageEnum.Done)))
                    {
                        var others = stageAssigneds.Where(x => x.Id != model.Id);
                        if (others.All(x => x.Status.Contains(OperationConstants.Done)))
                        {
                            jobCsTransaction.CurrentStatus = OperationConstants.Finish;
                        }
                    }
                    if (jobCsTransaction.CurrentStatus?.Trim() == OperationConstants.InSchedule && assigned.Status.Trim() == OperationConstants.Processing)
                    {
                        jobCsTransaction.CurrentStatus = OperationConstants.Processing;
                    }
                }
            }
            else
            {
                if (job.CurrentStatus != OperationConstants.Deleted && job.CurrentStatus != OperationConstants.Finish)
                {
                    if (assigned.Status?.Trim() == DataTypeEx.GetStageStatus(StageEnum.Overdue))
                    {
                        job.CurrentStatus = OperationConstants.Overdue;
                    }
                    if (assigned.Status.Contains(DataTypeEx.GetStageStatus(StageEnum.Done)))
                    {
                        var others = stageAssigneds.Where(x => x.Id != model.Id);
                        if (others.All(x => x.Status.Contains(OperationConstants.Done)))
                        {
                            job.CurrentStatus = OperationConstants.Finish;
                        }
                    }
                    if (job.CurrentStatus?.Trim() == OperationConstants.InSchedule && assigned.Status.Trim() == OperationConstants.Processing)
                    {
                        job.CurrentStatus = OperationConstants.Processing;
                    }
                }
            }
            var result = new HandleState();

            try
            {
                result = DataContext.Update(assigned, x => x.Id == assigned.Id, false);
                SubmitChanges();
                if (result.Success)
                {
                    if (job == null)
                    {
                        csTransactionReporsitory.Update(jobCsTransaction, x => x.Id == jobCsTransaction.Id);
                        csTransactionReporsitory.SubmitChanges();
                    }
                    else
                    {
                        opsTransRepository.Update(job, x => x.Id == job.Id);
                        opsTransRepository.SubmitChanges();
                    }
                }
            }
            catch (Exception ex)
            {
                result = new HandleState(ex.Message);
            }
            return(result);
        }