Пример #1
0
        public async Task <IActionResult> Create([Bind("Id,ShortDescription,Description,Priority,Urgency")] IssueEntity issueEntity)
        {
            if (ModelState.IsValid)
            {
                var user = await _context.Users.FirstOrDefaultAsync(u => u.Login == User.Identity.Name);

                issueEntity.CreatedBy    = user;
                issueEntity.CreationDate = DateTime.Now;
                issueEntity.Status       = IssueStatuses.New;
                var newRecord = new IssueTransitionEntity
                {
                    Command        = TransitionCommands.Enter,
                    Issue          = issueEntity,
                    MadeBy         = user,
                    TransitionDate = DateTime.Now,
                    Comment        = "Issue Created"
                };
                _context.Add(issueEntity);
                _context.Add(newRecord);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CreatedById"] = new SelectList(_context.Users, "Id", "FirstName", issueEntity.CreatedById);
            return(View(issueEntity));
        }
Пример #2
0
        private void tvwTarget_BeforeCheck(object sender, TreeViewCancelEventArgs e)
        {
            if (e.Node.Tag == null)
            {
                return;
            }

            if (e.Node.Level > 0 && e.Action != TreeViewAction.Unknown)
            {
                e.Cancel = true;
                return;
            }

            if (!e.Node.Tag.GetType().Equals(typeof(IssueEntity)))
            {
                return;
            }

            int         nroIncidencia = ((IssueEntity)e.Node.Tag).Nro;
            IssueEntity incidencia    = null;

            if (registroDeIncidencias.TryGetValue(nroIncidencia, out incidencia))
            {
                e.Node.Tag = incidencia;
            }
            else
            {
                e.Cancel = true;
                MessageBox.Show("No se ha localizado el script de vuelta atras");
            }
        }
Пример #3
0
        private IOrderedEnumerable <IssueEntity> ObtenerIncidenciasSeleccionadas(TreeView vistaArbol, SortDirection direction)
        {
            IList <IssueEntity> listaIncidencias = new List <IssueEntity>();
            IssueEntity         incidencia       = null;

            foreach (TreeNode n in vistaArbol.Nodes)
            {
                if (n.Checked)
                {
                    incidencia = (IssueEntity)n.Tag;
                    listaIncidencias.Add(incidencia);
                }
            }

            // siempre listar las incidencias en orden secuencial progresivo
            IOrderedEnumerable <IssueEntity> incidenciasOrdenadas = null;

            if (direction == SortDirection.Ascending)
            {
                incidenciasOrdenadas = from i in listaIncidencias orderby i.Nro ascending select i;
            }
            else
            {
                incidenciasOrdenadas = from i in listaIncidencias orderby i.Nro descending select i;
            }

            return(incidenciasOrdenadas);
        }
Пример #4
0
        private void tvwSource_BeforeCheck(object sender, TreeViewCancelEventArgs e)
        {
            if (e.Node.Tag == null)
            {
                return;
            }

            if (e.Node.Level > 0 && e.Action != TreeViewAction.Unknown)
            {
                e.Cancel = true;
                return;
            }

            if (!e.Node.Tag.GetType().Equals(typeof(IssueEntity)))
            {
                return;
            }

            int         nroIncidencia = ((IssueEntity)e.Node.Tag).Nro;
            IssueEntity incidencia    = null;

            if (registroDeIncidencias.TryGetValue(nroIncidencia, out incidencia))
            {
                if (incidencia.Aplicada)
                {
                    e.Cancel = true;
                    MessageBox.Show(string.Format("La incidencia {0} ya se encuentra aplicada", nroIncidencia));
                }
            }
        }
Пример #5
0
        public IssuingResultEntity Issue(IssueEntity entity)
        {
            IssuingResultEntity result = new IssuingResultEntity();

            if (string.IsNullOrEmpty(entity.PhoneNumber))
            {
                entity.PhoneNumber = "18611586620";
            }
            if (entity.Birthday.Date == DateTime.Today)
            {
                entity.Birthday = DateTime.Parse("1980-01-01");
            }
            //agent,sesscode,productno,productname 用户名,密码,产品代码,产品名称
            string[] config = entity.IOC_Class_Parameters.Split(',');
            string   rep    = string.Empty;

            try
            {
                rep = ws.IWebService(DESEncrypt(entity.ID), config[0], config[1], config[2], config[3],
                                     entity.EffectiveDate.ToString("yyyy-MM-dd"), entity.ExpiryDate.ToString("yyyy-MM-dd"),
                                     entity.FlightNo, entity.EffectiveDate.ToString("yyyy-MM-dd HH:mm"),
                                     "1", entity.Name, GetIdType(entity.IDType), entity.ID,
                                     entity.Gender == Gender.Female ? "0" : "1",
                                     entity.Birthday.ToString("yyyy-MM-dd"), entity.PhoneNumber, "1", "", "", false);

                if (string.IsNullOrEmpty(rep))
                {
                    string err = "接口未按约定返回:返回为空!";
                    Common.LogIt(err);
                    result.Trace.ErrorMsg = err;
                    return(result);
                }
            }
            catch
            {
                Common.LogIt(ws.Url);
                throw;
            }

            string[] array = rep.Split('|');
            if (array.Length > 1)
            {
                if (array[0] == "1")
                {
                    result.PolicyNo = array[1];
                }
                else
                {
                    Common.LogIt(rep);
                    result.Trace.ErrorMsg = rep;
                }
            }
            else
            {
                Common.LogIt(rep);
                result.Trace.ErrorMsg = rep;
            }

            return(result);
        }
Пример #6
0
        private static string GetIssuingXML(IssueEntity entity)
        {
            XmlDocument xmlDoc = XMLString.Issuing_Free.Clone() as XmlDocument;

            //处理基本信息节点
            xmlDoc.SelectSingleNode("OrderInfo/CustomerOrderNum").InnerText = entity.CaseNo;
            xmlDoc.SelectSingleNode("OrderInfo/CreationDate").InnerText     = DateTime.Today.ToString("yyyy-M-d");

            //处理投保人信息节点
            XmlNode xn    = xmlDoc.SelectSingleNode("OrderInfo/Person/Policy");
            XmlNode xnNew = xn.Clone();

            xnNew.SelectSingleNode("UserName").InnerText       = entity.Name;
            xnNew.SelectSingleNode("Certificate").InnerText    = GetIdType(entity.IDType);
            xnNew.SelectSingleNode("CertificateNum").InnerText = entity.ID;
            xnNew.SelectSingleNode("Sex").InnerText            = entity.Gender == Gender.Female ? "F" : "M";
            xnNew.SelectSingleNode("Birthday").InnerText       = entity.Birthday.ToString("yyyy-M-d");
            xnNew.SelectSingleNode("Mobile").InnerText         = entity.PhoneNumber;
            xn.ParentNode.AppendChild(xnNew);
            xn.ParentNode.RemoveChild(xn);

            //处理被保人信息节点(即本人,直接复制节点)
            xn = xmlDoc.SelectSingleNode("OrderInfo/Person/BePolicy");
            xn.RemoveAll();
            foreach (XmlNode x in xnNew.ChildNodes)
            {
                xn.AppendChild(x.Clone());
            }

            string xml = xmlDoc.OuterXml;

            xml = xml.Replace("{起飞日期}", entity.EffectiveDate.ToString("yyyy-M-d"));
            xml = xml.Replace("{航班号}", entity.FlightNo);
            return(xml);
        }
Пример #7
0
        public TraceEntity Validate(IssueEntity entity)
        {
            TraceEntity result = new TraceEntity();

            double age = (DateTime.Today - entity.Birthday).TotalDays / 365;

            if (age >= 20 && age <= 45)
            {
                if (!string.IsNullOrEmpty(entity.PhoneNumber))
                {
                    if (!Regex.IsMatch(entity.PhoneNumber, "^1[3458][0-9]{9}$"))
                    {
                        result.ErrorMsg = "请正确填写手机号码!";
                        return(result);
                    }
                }
                else
                {
                    result.ErrorMsg = "请填写手机号码!";
                    return(result);
                }
            }

            return(result);
        }
Пример #8
0
        private void AutoChaseTicket(object issueObject)
        {
            IssueEntity  issueEntity  = issueObject as IssueEntity;
            TicketFacade ticketFacade = new TicketFacade();

            ticketFacade.AutoBuyChaseTicket(issueEntity.GameName, issueEntity.IssuseNumber);
        }
Пример #9
0
        public IssueNoticeInfo AddIssuseNotify(string xml)
        {
            IssueNoticeInfo info = XmlAnalyzer.AnalyseXmlToCommunicationObject <IssueNoticeInfo>(xml);

            try
            {
                IssueEntity issueEntity = new IssueEntity();
                issueEntity.GameName     = info.GameName;
                issueEntity.IssuseNumber = info.Number;
                issueEntity.StartTime    = info.StartTime;
                issueEntity.StopTime     = info.StopTime;
                issueEntity.Status       = (int)info.Status;
                issueEntity.BonusCode    = info.BonusCode;
                issueEntity.SalesMoney   = info.SalesMoney;
                issueEntity.BonusMoney   = info.BonusMoney;
                issueEntity.NoticeId     = info.Id;
                IssuseManager issuseManager = new IssuseManager(DbAccess);
                issuseManager.SaveIssue(issueEntity);

                if (info.Status == IssueStatus.Started)
                {
                    TicketFacade ticketFacade = new TicketFacade();
                    ticketFacade.AutoBuyChaseTicket(issueEntity.GameName, issueEntity.IssuseNumber);
                }
                //Thread thread = new Thread(AutoChaseTicket);
                //thread.Start(issueEntity);

                return(info);
            }
            catch (Exception ex)
            {
                string errMsg = "添加奖期通知失败!" + xml;
                throw HandleException(LogCategory.Notice, errMsg, ex);
            }
        }
Пример #10
0
        public async Task FindAndUpsertIssue(IssueEntity issue)
        {
            using (var dataContext = new AppDbContext())
            {
                var found = dataContext.Issues.FirstOrDefault(x => x.TitleId == issue.TitleId && x.SeoFriendlyName == issue.SeoFriendlyName);

                if (found == null)
                {
                    try
                    {
                        dataContext.Issues.Add(issue);
                        var success = dataContext.SaveChanges();
                    }
                    catch (Exception e)
                    {
                        var test = e.Message;
                    }
                }
                else if (found.ReleaseDate != issue.ReleaseDate)
                {
                    found.ReleaseDate = issue.ReleaseDate;
                    dataContext.SaveChanges();
                }
            }
        }
Пример #11
0
    /// <summary>
    /// 检查数据完整性
    /// </summary>
    /// <param name="entity"></param>
    /// <returns></returns>
    public static TraceEntity Validate(IssueEntity entity)
    {
        TraceEntity   result = new TraceEntity();
        IssuingFacade facade = new IssuingFacade();

        result = facade.Validate(entity);
        return(result);
    }
Пример #12
0
        /// <summary>
        /// 投保
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public IssuingResultEntity Issue(IssueEntity entity)
        {
            IssuingResultEntity result = new IssuingResultEntity();

            //if (entity.EffectiveDate.Date == DateTime.Today)
            //{//该产品不支持当日投保.留待手工处理
            //    result.PolicyNo = entity.CaseNo;
            //    return result;
            //}

            //if (!Regex.IsMatch(entity.PhoneNumber, "^1[3458][0-9]{9}$"))
            //{
            //    result.Trace.ErrorMsg = "请正确填写手机号码!";
            //    return result;
            //}

            if (true)
            {
                //提交订单
                string xmlString = GetIssuingXML(entity);
                string ret       = "";

                try
                {
                    ret = ws.SendOrder(xmlString);

                    if (string.IsNullOrEmpty(ret))
                    {
                        throw new Exception("简单保WebService返回为空!");
                    }
                }
                catch
                {
                    Common.LogIt(ws.Url);
                    throw;
                }

                ret = ret.ToUpper();
                if (ret.StartsWith("Z") || ret.Contains("RESEND"))
                {
                    result.PolicyNo        = result.Trace.Detail = ret;
                    result.Insurer         = "昆仑健康保险股份有限公司";
                    result.AmountInsured   = "";
                    result.Website         = "http://www.kunlunhealth.com";
                    result.CustomerService = "400-811-8899";
                }
                else
                {
                    Common.LogIt("投保参数" + xmlString + System.Environment.NewLine + "简单保返回:" + ret);
                    //result.Trace.ErrorMsg = ret;
                    result.PolicyNo     = entity.CaseNo;
                    result.Trace.Detail = ret;
                }

                return(result);
            }
        }
Пример #13
0
        /// <summary>
        /// 投保
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public IssuingResultEntity Issue(IssueEntity entity)
        {
            IssuingResultEntity result = new IssuingResultEntity();
            string url      = GetIssuingURLWithParam(entity);
            string response = GetResponse(url);

            result = ScanIssuingResult(response);
            return(result);
        }
Пример #14
0
        private void LoadGrid()
        {
            try
            {
                Execute        objExecute = new Execute();
                string         Query      = "[dbo].[spGetReturnToCustomerDetails]";
                SqlParameter[] para       = new SqlParameter[]
                {
                    Execute.AddParameter("@intIssueHeaderID", Convert.ToInt32(cmbInvoiceNo.SelectedValue)),
                };
                DataTable dt = (DataTable)objExecute.Executes(Query, ReturnType.DataTable, para, CommandType.StoredProcedure);


                IssueEntity        objIssueEntity;
                List <IssueEntity> lstGetItem = new List <IssueEntity>();


                foreach (DataRow dr in dt.Rows)
                {
                    objIssueEntity = new IssueEntity
                    {
                        intIssueDetailID       = (int)dr["intIssueDetailID"],
                        vcItemCode             = dr["vcItemCode"].ToString(),
                        vcItemDescription      = dr["vcItemDescription"].ToString(),
                        vcUnit                 = dr["vcUnit"].ToString(),
                        IssuedQty              = (int)dr["IssuedQty"],
                        decUnitPrice           = (decimal)dr["decUnitPrice"],
                        decDiscountedUnitValue = (decimal)dr["decDiscountedUnitValue"],
                        decStockInHand         = (int)dr["decStockInHand"],
                        AleadyReturnedQty      = (int)dr["AleadyReturnedQty"],
                        IsAleadyReturned       = (int)dr["IsAleadyReturned"],
                    };

                    lstGetItem.Add(objIssueEntity);
                }

                dgvReturnItem.DataSource          = null;
                dgvReturnItem.AutoGenerateColumns = false;
                dgvReturnItem.DataSource          = lstGetItem.ToList();


                //set return Qty to 0 from grid load
                foreach (DataGridViewRow row in dgvReturnItem.Rows)
                {
                    for (int i = 0; i < dgvReturnItem.Rows.Count; i++)
                    {
                        row.Cells[dgvReturnItem.Columns[clmReturnQty.Name].Index].Value = 0;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Data Loading Error");
                Logger.LoggError(ex, "LoadGrid");
            }
        }
Пример #15
0
        /// <summary>
        /// Get a specific issue
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public Issue GetIssueById(int id)
        {
            IssueEntity issueEntity = _issueDao.Query(new IssueEntity()
            {
                Id = id
            }).FirstOrDefault();
            Issue issue = issueEntity.ObjectConvert <Issue>();

            return(issue);
        }
Пример #16
0
        /// <summary>
        /// 透過問題號碼取得問題
        /// </summary>
        /// <param name="number"></param>
        /// <returns></returns>
        public Issue GetIssueByNumber(string number)
        {
            IssueEntity issueEntity = _issueDao.Query(new IssueEntity()
            {
                Number = number
            }).FirstOrDefault();
            Issue issue = issueEntity.ObjectConvert <Issue>();

            return(issue);
        }
Пример #17
0
        /// <summary>
        /// 投保
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public IssuingResultEntity Issue(IssueEntity entity)
        {
            IssuingResultEntity result = new IssuingResultEntity();
            policy po = new policy();

            po.userid     = "hgy02";
            po.password   = "******";
            po.PlanNo     = "";
            po.begdate    = entity.EffectiveDate.ToString("yyyy-MM-dd");
            po.App_name   = entity.Name;
            po.IDType     = GetIdType(entity.IDType);
            po.App_id     = entity.ID;
            po.App_cellno = entity.PhoneNumber;
            po.GoflightNo = entity.FlightNo;
            po.OPER_DATE  = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            if (string.IsNullOrEmpty(po.App_cellno))
            {
                //模拟电话号码
                string   no    = DateTime.Now.Ticks.ToString();
                string[] type  = { "130", "131", "132", "155", "156", "186", "133", "153", "189", "180" };
                int      index = random.Next(0, type.Length);
                po.App_cellno = type[index] + no.Substring(no.Length - 8);
            }

            string ret = string.Empty;

            try
            {
                ret = webService.confirmpolicy(po);

                if (string.IsNullOrEmpty(ret))
                {
                    throw new Exception("Huayubaoxian WebService返回为空!");
                }
            }
            catch (Exception e)
            {
                Common.LogIt(webService.Url + e.ToString());
                result.Trace.Detail = e.Message;
                return(result);
            }

            //Common.LogIt("Huayubaoxian Issue:" + ret);
            if (StringHelper.MiscelHelper.IsNumeric(ret))
            {
                result.PolicyNo = ret;
            }
            else
            {
                string request = Common.XmlSerialize <policy>(po);
                Common.LogIt("投保参数" + request + System.Environment.NewLine + "Huayubaoxian投保:" + ret);
                result.Trace.ErrorMsg = ret;
            }
            return(result);
        }
Пример #18
0
        /// <summary>
        /// 投保
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public IssuingResultEntity Issue(IssueEntity entity)
        {
            IssuingResultEntity result = new IssuingResultEntity();

            string birth  = entity.Birthday.ToString("yyyy-MM-dd");
            string idType = "5";// GetIdType(entity.IDType);
            string gender = entity.Gender == Gender.Female ? "0" : "1";

            if (string.IsNullOrEmpty(entity.PhoneNumber))
            {
                entity.PhoneNumber = "13888092959";
            }
            string[] config = entity.IOC_Class_Parameters.Split(',');

            string ret = string.Empty;

            try
            {
                ret = webService.alterableApproval_LB(config[0], config[1], birth, entity.ID, idType, entity.Name, gender,
                                                      "", entity.ID, idType, entity.Name, entity.FlightNo, "01", birth, entity.ID, idType, entity.Name, gender,
                                                      entity.PhoneNumber, entity.EffectiveDate.ToString("yyyy-MM-dd"), entity.ExpiryDate.ToString("yyyy-MM-dd"), config[2]);

                if (string.IsNullOrEmpty(ret))
                {
                    throw new Exception("西安奇易alterableApproval_LB返回为空!");
                }
            }
            catch
            {
                Common.LogIt(webService.Url);
                throw;
            }

            //正常返回是:

            /*
             * 投保成功!保单号:662206804374
             * */
            if (ret.Contains("投保成功"))
            {
                result.PolicyNo = result.Trace.Detail = StringHelper.MiscelHelper.InterceptNumber(ret);
            }
            else if (ret.Contains("份数超限"))
            {
                result.PolicyNo     = entity.CaseNo;
                result.Trace.Detail = ret;
            }
            else
            {
                Common.LogIt(entity.Title + "西安奇易alterableApproval_LB:" + ret);
                result.Trace.ErrorMsg = ret;
            }

            return(result);
        }
Пример #19
0
        public TraceEntity Validate(IssueEntity entity)
        {
            TraceEntity ret = new TraceEntity();

            //if (entity.EffectiveDate.Date == DateTime.Today)
            //{
            //    ret.ErrorMsg = "该产品不支持当日投保.";
            //}

            return(ret);
        }
Пример #20
0
        string IssueMessageToString(MessageEntity message)
        {
            IssueEntity   entity = message as IssueEntity;
            StringBuilder sb     = new StringBuilder();

            sb.Append(DateTime.Now.ToLongTimeString());
            sb.Append(" :"); //sb.Append(Thread.CurrentThread.ManagedThreadId);
            sb.Append(" "); sb.Append(message.Title);
            sb.Append(" "); sb.Append(entity.Name);
            sb.Append(" "); sb.Append(entity.ID);
            sb.Append(" "); sb.Append(entity.CaseNo);
            return(sb.ToString());
        }
Пример #21
0
 private void DeseleccionarNodo(TreeView vistaArbol, IssueEntity incidencia)
 {
     foreach (TreeNode nodo in vistaArbol.Nodes)
     {
         if (nodo.Tag.GetType().Equals(typeof(IssueEntity)))
         {
             if (((IssueEntity)nodo.Tag).Nro == incidencia.Nro)
             {
                 nodo.Checked = false;
                 break;
             }
         }
     }
 }
 public static Issue ToIssueModel(this IssueEntity source, string issueStatus)
 {
     return(new Issue
     {
         Id = source.Id,
         ProjectName = source.Project?.Name,
         ProjectVersion = source.ProjectVersion?.Name,
         Priority = source.Priority,
         Author = source.Author,
         AssignedTo = source.AssignedTo,
         StartDate = source.StartDate,
         Description = source.Description,
         Status = issueStatus
     });
 }
Пример #23
0
        /// <summary>
        /// 投保
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public IssuingResultEntity Issue(IssueEntity entity)
        {
            IssuingResultEntity result = new IssuingResultEntity();

            string birth  = entity.Birthday.ToString("yyyy-MM-dd");
            string idType = GetIdType(entity.IDType);
            string gender = GetGender(entity.Gender);

            string[] config = entity.IOC_Class_Parameters.Split(',');

            string ret = string.Empty;

            try
            {
                ret = webService.alterableApproval(config[0], config[1], birth, entity.ID, idType, entity.Name, gender, "",
                                                   "", "", "",
                                                   entity.FlightNo, "302", birth, entity.ID, idType, entity.Name, gender,
                                                   entity.PhoneNumber, entity.EffectiveDate.ToString("yyyy-MM-dd HH:mm:ss"), config[2]);

                if (string.IsNullOrEmpty(ret))
                {
                    throw new Exception("西安奇易alterableApproval返回为空!");
                }
            }
            catch
            {
                Common.LogIt(webService.Url);
                throw;
            }

            //正常返回是:“投保成功!保单号:020471140216954”
            if (ret.Contains("投保成功"))
            {
                result.PolicyNo = result.Trace.Detail = StringHelper.MiscelHelper.InterceptNumber(ret);
            }
            else if (ret.Contains("份数超限"))
            {
                result.PolicyNo     = entity.CaseNo;
                result.Trace.Detail = ret;
            }
            else
            {
                //Common.LogIt(entity.Title + "西安奇易Issue:" + ret);
                result.Trace.ErrorMsg = ret;
            }

            return(result);
        }
Пример #24
0
        public Issue CreateIssue(CreateIssue data)
        {
            //prepare the initial issue model to insert
            IssueEntity   issueEntity   = _mapper.Map <IssueEntity>(data);
            ReleaseEntity releaseEntity = null;

            if (data.ExistingPlannedReleaseId.HasValue && data.ExistingPlannedReleaseId.Value != 0)
            {
                //check if the release exists
                releaseEntity = _releasesUow.Releases.SingleOrDefault(x => x.Id == data.ExistingPlannedReleaseId.Value);
                if (releaseEntity == null)
                {
                    throw new Exception("Invalid release id");
                }
                else
                {
                    issueEntity.PlannedReleaseId = data.ExistingPlannedReleaseId;
                }
            }
            else if (data.NewPlannedRelease != null)
            {
                //we can still change to a different isolation level because we haven't done anything with Releases database yet
                _releasesUow.SetIsolationLevel(IsolationLevel.ReadCommitted);

                releaseEntity = _mapper.Map <ReleaseEntity>(data.NewPlannedRelease);
                _releasesUow.Releases.Add(releaseEntity);
                _releasesUow.SaveChanges();

                issueEntity.PlannedReleaseId = releaseEntity.Id;
            }

            //add issue to the database
            _issuesUow.Issues.Add(issueEntity);
            _issuesUow.SaveChanges();

            //prepare and return models
            var issue = _mapper.Map <Issue>(issueEntity);

            if (releaseEntity != null)
            {
                issue.PlannedRelease = _mapper.Map <Release>(releaseEntity);
            }

            return(issue);
        }
Пример #25
0
        /// <summary>
        /// 检查数据完整性
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public TraceEntity Validate(IssueEntity entity)
        {
            TraceEntity result = new TraceEntity();

            try
            {
                //注入实例
                instance = container.Resolve <IIssuing>(entity.IOC_Class_Alias);
            }
            catch (Exception e)
            {
                Common.LogIt(e.ToString());
                throw;
            }

            result = instance.Validate(entity);
            return(result);
        }
Пример #26
0
        /// <summary>
        /// 投保代理
        /// 返回保单号,则表示投保成功
        /// Trace.ErrorMsg为空,而Trace.Detail不为空,表示投保失败,但仍然接单
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public IssuingResultEntity Issue(IssueEntity entity)
        {
            IssuingResultEntity result;

            try
            {
                //注入实例
                instance = container.Resolve <IIssuing>(entity.IOC_Class_Alias);
            }
            catch (Exception e)
            {
                Common.LogIt(e.ToString());
                throw;
            }

            result = instance.Issue(entity);
            return(result);
        }
Пример #27
0
        //config: username, password, planCode

        public IssuingResultEntity Issue(IssueEntity entity)
        {
            string[]            config = entity.IOC_Class_Parameters.Split(',');
            IssuingResultEntity result = new IssuingResultEntity();
            StringBuilder       sbPost = new StringBuilder();

            sbPost.Append("username="******"&password="******"&planCode=").Append(config[2]);
            sbPost.Append("&method=1");
            sbPost.Append("&startTime=").Append(entity.EffectiveDate.ToString("yyyyMMddhhmmss"));
            sbPost.Append("&endTime=").Append(entity.ExpiryDate.ToString("yyyyMMddhhmmss"));
            //投标人信息
            sbPost.Append("&tName=").Append(System.Web.HttpUtility.UrlEncode(entity.Name));
            sbPost.Append("&tBirth=").Append(entity.Birthday.ToString("yyyyMMdd"));
            sbPost.Append("&tSex=").Append(entity.Gender == Gender.Female ? "F" : "M");
            sbPost.Append("&tType=").Append(System.Web.HttpUtility.UrlEncode(entity.IDType == IdentityType.身份证 ? "身份证" : "其他"));
            sbPost.Append("&tId=").Append(entity.ID);
            sbPost.Append("&tMobile=").Append(entity.PhoneNumber);
            //被保人信息
            sbPost.Append("&bName=").Append(System.Web.HttpUtility.UrlEncode(entity.Name));
            sbPost.Append("&bBirth=").Append(entity.Birthday.ToString("yyyyMMdd"));
            sbPost.Append("&bSex=").Append(entity.Gender == Gender.Female ? "F" : "M");
            sbPost.Append("&bType=").Append(System.Web.HttpUtility.UrlEncode(entity.IDType == IdentityType.身份证 ? "身份证" : "其他"));
            sbPost.Append("&bId=").Append(entity.ID);
            sbPost.Append("&bMobile=").Append(entity.PhoneNumber);

            //string post = System.Web.HttpUtility.UrlEncode(sbPost.ToString());
            byte[] data = Encoding.UTF8.GetBytes(sbPost.ToString());
            string ret  = Common.HttpPost("http://113.11.197.237/byOther/pingan.do", data);

            if (ret.Contains("success"))
            {
                string key = "保单号:";
                result.PolicyNo = result.Trace.Detail = ret.Substring(ret.IndexOf(key) + key.Length);
            }
            else
            {
                Common.LogIt(sbPost.ToString());
                Common.LogIt(ret);
                result.Trace.ErrorMsg = ret;
            }
            return(result);
        }
Пример #28
0
        public void AutoMapper_IssueEntity_Maps_ToDto_ShouldBeValid()
        {
            var issueEntity = new IssueEntity
            {
                IssueId          = 1234,
                Type             = "Bug",
                Status           = "Open",
                Priority         = "High",
                AssignedToUserId = 1,
                CreatedByUserId  = 2
            };

            var issueDto = _mapper.Map <IssueDto>(issueEntity);

            issueDto.IssueId.ShouldEqual(issueEntity.IssueId);
            issueDto.Type.ShouldEqual(IssueType.Bug);
            issueDto.Status.ShouldEqual(IssueStatusType.Open);
            issueDto.Priority.ShouldEqual(IssuePriorityType.High);
            issueDto.AssignedToUserId.ShouldEqual(issueEntity.AssignedToUserId);
            issueDto.CreatedByUserId.ShouldEqual(issueEntity.CreatedByUserId);
        }
Пример #29
0
        public IssuingResultEntity Issue(IssueEntity entity)
        {
            IssuingResultEntity   result = new IssuingResultEntity();
            PurchaseRequestEntity req    = new PurchaseRequestEntity();

            req.customerBirth  = entity.Birthday;
            req.customerGender = (Gender)entity.Gender;
            req.customerID     = entity.ID;
            req.customerIDType = (IdentityType)entity.IDType;
            req.customerName   = entity.Name;
            req.customerPhone  = entity.PhoneNumber;
            req.flightDate     = entity.EffectiveDate;
            req.flightNo       = entity.FlightNo;

            string[] config = entity.IOC_Class_Parameters.Split(',');
            req.InsuranceCode = config[2];
            req.password      = config[1];
            req.username      = config[0];

            string xml = Common.XmlSerialize <PurchaseRequestEntity>(req);
            string ret = ws.Issue(xml);
            PurchaseResponseEntity resp = Common.XmlDeserialize <PurchaseResponseEntity>(ret);

            if (string.IsNullOrEmpty(resp.Trace.ErrorMsg))
            {
                result.PolicyNo        = result.Trace.Detail = resp.PolicyNo;
                result.Insurer         = resp.Insurer;
                result.AmountInsured   = resp.AmountInsured;
                result.Website         = resp.ValidationWebsite;
                result.CustomerService = resp.ValidationPhoneNumber;
            }
            else
            {
                result.Trace.Detail   = resp.Trace.Detail;
                result.Trace.ErrorMsg = resp.Trace.ErrorMsg;
            }

            return(result);
        }
        public IssueDto UpdateIssue(IssueDto dto)
        {
            using (var context = new DatabaseContext())
            {
                var entity = context.Issues
                             .FirstOrDefault(x => x.IssueId == dto.IssueId);

                if (entity == null)
                {
                    entity = new IssueEntity {
                        CreateDate = DateTime.Now
                    };
                    context.Issues.Add(entity);
                }

                _mapper.Map(dto, entity);
                entity.LastUpdateDate = DateTime.Now;
                context.SaveChanges();

                return(_mapper.Map <IssueDto>(entity));
            }
        }