Exemplo n.º 1
0
        public RefundRequest SaveRequest(RefundRequestEditModel model)
        {
            try
            {
                var refundRequest = Mapper.Map <RefundRequestEditModel, RefundRequest>(model);
                refundRequest.RequestedOn = DateTime.Now;
                refundRequest.RequestedByOrgRoleUserId =
                    _sessionContext.UserSession.CurrentOrganizationRole.OrganizationRoleUserId;

                var requestsInDb = _refundRequestRepository.GetbyOrderId(model.OrderId);
                var repository   = ((IRepository <RefundRequest>)_refundRequestRepository);
                if (requestsInDb != null)
                {
                    var requestInDb = requestsInDb.Where(rr => rr.RefundRequestType == refundRequest.RefundRequestType).SingleOrDefault();

                    if (requestInDb != null)
                    {
                        refundRequest.Id = requestInDb.Id;
                    }
                    else if ((refundRequest.RefundRequestType == RefundRequestType.CustomerCancellation || refundRequest.RefundRequestType == RefundRequestType.EventCancellation) && requestsInDb.Count() > 0)
                    {
                        repository.Delete(requestsInDb);
                    }
                }

                refundRequest = repository.Save(refundRequest);
                return(refundRequest);
            }
            catch (Exception)
            {
                throw new Exception("Request not generated.");
            }
        }
Exemplo n.º 2
0
        protected RefundRequestEditModel PrepareRefundRequestObject()
        {
            var model   = new RefundRequestEditModel();
            var members = typeof(RefundRequestEditModel).GetMembers();

            foreach (var memberInfo in members)
            {
                if (memberInfo.MemberType != MemberTypes.Property)
                {
                    continue;
                }

                var propInfo = (memberInfo as PropertyInfo);
                if (propInfo != null)
                {
                    if (propInfo.PropertyType == typeof(FeedbackMessageModel))
                    {
                        continue;
                    }
                }
                else
                {
                    continue;
                }

                string propertyName = memberInfo.Name;
                if (Request.Form[propertyName] != null)
                {
                    SetValue(propInfo, model, propertyName);
                }
            }
            return(model);
        }
Exemplo n.º 3
0
        public ActionResult Create(long orderId, decimal amount, RefundRequestType requestType)
        {
            var model = new RefundRequestEditModel()
            {
                OrderId = orderId,
                RequestedRefundAmount = amount,
                RefundType            = (int)requestType
            };

            return(View(model));
        }
Exemplo n.º 4
0
        public ActionResult Create(RefundRequestEditModel model)
        {
            try
            {
                var refundRequest = Mapper.Map <RefundRequestEditModel, RefundRequest>(model);
                refundRequest.RequestedOn = DateTime.Now;
                refundRequest.RequestedByOrgRoleUserId =
                    _sessionContext.UserSession.CurrentOrganizationRole.OrganizationRoleUserId;

                refundRequest = _repository.Save(refundRequest);
                return(Content(refundRequest.Id.ToString()));
            }
            catch (Exception)
            {
                return(Content("0"));
            }
        }
Exemplo n.º 5
0
 private RefundRequestEditModel SetValue(PropertyInfo propInfo, RefundRequestEditModel model, string propertyName)
 {
     if (Request.Form[propertyName] != null && !string.IsNullOrEmpty(Request.Form[propertyName]))
     {
         if (propInfo.PropertyType == typeof(Int32))
         {
             propInfo.SetValue(model, Convert.ToInt32(Request.Form[propertyName]), null);
         }
         else if (propInfo.PropertyType == typeof(Int64))
         {
             propInfo.SetValue(model, Convert.ToInt64(Request.Form[propertyName]), null);
         }
         else if (propInfo.PropertyType == typeof(Int16))
         {
             propInfo.SetValue(model, Convert.ToInt16(Request.Form[propertyName]), null);
         }
         else if (propInfo.PropertyType == typeof(DateTime))
         {
             propInfo.SetValue(model, Convert.ToDateTime(Request.Form[propertyName]), null);
         }
         else if (propInfo.PropertyType == typeof(decimal))
         {
             propInfo.SetValue(model, Convert.ToDecimal(Request.Form[propertyName]), null);
         }
         else if (propInfo.PropertyType.BaseType == typeof(Enum))
         {
             if (Enum.IsDefined(propInfo.PropertyType, Request.Form[propertyName]))
             {
                 var value = Enum.Parse(propInfo.PropertyType, Request.Form[propertyName]);
                 propInfo.SetValue(model, value, null);
             }
         }
         else
         {
             propInfo.SetValue(model, Request.Form[propertyName], null);
         }
     }
     return(model);
 }