Пример #1
0
        /// <summary>
        /// Get Top Customers
        /// </summary>
        /// <param name="request"></param>
        /// <param name="responseStream"></param>
        /// <param name="context"></param>
        /// <returns></returns>
        /// <exception cref="ValidationException"></exception>
        /// <exception cref="RpcException"></exception>
        public override async Task GetTopCustomers(CustomerDetailRequest request, IServerStreamWriter <CustomerDetailResponse> responseStream, ServerCallContext context)
        {
            try
            {
                if (request.TopCustomers == 0)
                {
                    throw new ValidationException(BusinessRuleResource.Error_InTopCount);
                }
                var customerList = _customerRuleManager.GetTopCustomers(request.TopCustomers).ToArray();

                if (customerList.Any())
                {
                    foreach (var customer in customerList)
                    {
                        await responseStream.WriteAsync(new CustomerDetailResponse
                        {
                            Id                = customer.Id,
                            Street            = customer.Street,
                            Suburb            = customer.Suburb,
                            Contact           = customer.Contact,
                            Country           = customer.Country,
                            Street2           = customer.Street2,
                            StateId           = customer.StateId,
                            FullName          = customer.FullName,
                            LastName          = customer.LastName,
                            AddressId         = customer.AddressId,
                            ContactId         = customer.ContactId,
                            FirstName         = customer.FirstName,
                            StateName         = customer.StateName,
                            CustomerCode      = customer.CustomerCode,
                            DateOfBirth       = customer.DateOfBirth.ToShortDateString(),
                            AddressTypeId     = customer.AddressTypeId,
                            ContactTypeId     = customer.ContactTypeId,
                            CustomerAddressId = customer.CustomerAddressId,
                            CustomerContactId = customer.CustomerContactId
                        });
                    }
                }
                else
                {
                    await responseStream.WriteAllAsync(new CustomerDetailResponse[] { });
                }
            }
            catch (Exception e)
            {
                log.Error(e.Message);
                throw new RpcException(new Status(StatusCode.Aborted, e.Message));
            }
        }
        public async Task <IHttpActionResult> Post([FromBody] CustomerDetailRequest data)
        {
            try
            {
                CaCustomerDetail dataCaCustomerDetail = data.GetObject();
                dataCaCustomerDetail.CreatedBy = GetUserAuth().Name;

                CaCustomerDetail caCustomerDetail = await _caCustomerDetailRepository.Create(dataCaCustomerDetail);

                return(new HttpJsonApiResult <CustomerDetailModel>(
                           new CustomerDetailModel(caCustomerDetail), Request, HttpStatusCode.Created));
            }
            catch (Exception)
            {
                return(new HttpJsonApiResult <string>(
                           "Internal Server Error", Request, HttpStatusCode.InternalServerError));
            }
        }
Пример #3
0
        public CustomerDetailResponse DeleteCustomerDetail(CustomerDetailRequest request)
        {
            Business.Banking.CustomerDetail      customerBusiness = new Business.Banking.CustomerDetail();
            Types.Banking.CustomerDetailContract customerDetail   = customerBusiness.DeleteCustomerDetail(request.customerDetail);

            if (customerDetail != null)
            {
                return(new CustomerDetailResponse()
                {
                    customerDetail = customerDetail,
                    IsSuccess = true
                });
            }
            return(new CustomerDetailResponse()
            {
                IsSuccess = false
            });
        }
        public async Task <IHttpActionResult> Update(int id, [FromBody] CustomerDetailRequest data)
        {
            try
            {
                CaCustomerDetail caCustomerDetail = await _caCustomerDetailRepository.Update(id, data.GetObject());

                if (caCustomerDetail == null)
                {
                    return(new HttpJsonApiResult <string>("Not Found", Request, HttpStatusCode.NotFound));
                }
                return(new HttpJsonApiResult <CustomerDetailModel>(
                           new CustomerDetailModel(caCustomerDetail), Request, HttpStatusCode.OK));
            }
            catch (Exception)
            {
                return(new HttpJsonApiResult <string>(
                           "Internal Server Error", Request, HttpStatusCode.InternalServerError));
            }
        }
Пример #5
0
        public ActionResult AddNewCustomerDetails([FromBody] CustomerDetailRequest request)
        {
            bool   isSucess         = false;
            string messageAlert     = string.Empty;
            long   customerIdResult = 0;

            var currentUserId = HttpContext.Session.GetString(LookupKey.SessionVariables.UserId).IsNull() ? 0 : Convert.ToInt64(HttpContext.Session.GetString(LookupKey.SessionVariables.UserId));

            request.CreatedBy   = currentUserId;
            request.CreatedTime = DateTime.Now;

            if (ModelState.IsValid)
            {
                customerIdResult = _customerService.SaveCustomerDetails(request);

                if (customerIdResult == -100)
                {
                    return(Ok(new { isSucess = isSucess, messageAlert = Messages.CustomerCodeValidation }));
                }
                if (customerIdResult == 0)
                {
                    return(Ok(new { isSucess = isSucess, messageAlert = Messages.ServerError }));
                }

                isSucess = true;
                var response = new
                {
                    isSuccess    = isSucess,
                    messageAlert = messageAlert
                };

                return(Ok(response));
            }
            else
            {
                return(Ok(new
                {
                    isSucess = isSucess,
                    messageAlert = Messages.ErrorOccuredDuringProcessing
                }));
            }
        }
        public JsonResult UpdateCustomerDetails(CustomerDetailRequest request)
        {
            bool   isSucess         = false;
            string messageAlert     = string.Empty;
            bool   customerIdResult = false;

            var currentUserId    = Session[LookupKey.SessionVariables.UserId].IsNull() ? 0 : Convert.ToInt64(Session[LookupKey.SessionVariables.UserId]);
            var passedUserResult = _customerServices.GetAll().Where(m => m.CustomerId == request.CustomerId).FirstOrDefault();

            request.CreatedTime  = passedUserResult.CreatedTime;
            request.ModifiedBy   = currentUserId;
            request.ModifiedTime = DateTime.Now;

            #region Validate same firstname and lastname
            var customerNameResult = _customerServices.GetAll().Where(u => u.FirstName == request.FirstName &&
                                                                      u.CustomerStatusId == LookupKey.CustomerStatus.ActiveId &&
                                                                      u.LastName == request.LastName &&
                                                                      u.CustomerId != request.CustomerId).FirstOrDefault();


            if (!customerNameResult.IsNull())
            {
                return(Json(new { isSuccess = isSucess, messageAlert = Messages.CustomerNameValidation }, JsonRequestBehavior.AllowGet));
            }
            #endregion

            customerIdResult = _customerServices.UpdateDetail(request);

            if (!customerIdResult)
            {
                return(Json(new { isSuccess = isSucess, messageAlert = Messages.ServerError }, JsonRequestBehavior.AllowGet));
            }

            isSucess = true;
            var response = new
            {
                isSuccess    = isSucess,
                messageAlert = messageAlert
            };

            return(Json(response, JsonRequestBehavior.AllowGet));
        }
Пример #7
0
        public ActionResult UpdateCustomerDetails([FromBody] CustomerDetailRequest request)
        {
            bool   isSucess         = false;
            string messageAlert     = string.Empty;
            bool   customerIdResult = false;

            var currentUserId    = HttpContext.Session.GetString(LookupKey.SessionVariables.UserId).IsNull() ? 0 : Convert.ToInt64(HttpContext.Session.GetString(LookupKey.SessionVariables.UserId));
            var passedUserResult = _customerService.GetAllCustomerDetails().Where(m => m.CustomerId == request.CustomerId).FirstOrDefault();

            request.CreatedTime  = passedUserResult.CreatedTime;
            request.ModifiedBy   = currentUserId;
            request.ModifiedTime = DateTime.Now;

            #region Validate same customer code
            var codeUserDetailResult = _customerService.GetAllCustomerDetails().Where(u => u.CustomerCode == request.CustomerCode &&
                                                                                      u.CustomerId != request.CustomerId &&
                                                                                      u.IsActive).FirstOrDefault();


            if (!codeUserDetailResult.IsNull())
            {
                return(Ok(new { isSucess = isSucess, messageAlert = Messages.CustomerCodeValidation }));
            }
            #endregion

            customerIdResult = _customerService.UpdateCustomerDetails(request);

            if (!customerIdResult)
            {
                return(Ok(new { isSucess = isSucess, messageAlert = Messages.ServerError }));
            }

            isSucess = true;
            var response = new
            {
                isSuccess    = isSucess,
                messageAlert = messageAlert
            };

            return(Ok(response));
        }
Пример #8
0
        public static dbentities.Customer DtoToEntity(this CustomerDetailRequest request)
        {
            dbentities.Customer entity = null;

            if (request != null)
            {
                entity = new dbentities.Customer
                {
                    CustomerID   = request.CustomerId,
                    CustomerCode = request.CustomerCode,
                    Name         = request.Name,
                    Address      = request.Address,
                    IsActive     = request.IsActive,
                    CreatedBy    = request.CreatedBy,
                    CreatedTime  = request.CreatedTime,
                    ModifiedBy   = request.ModifiedBy,
                    ModifiedTime = request.ModifiedTime
                };
            }

            return(entity);
        }
        public JsonResult AddNewCustomerDetails(CustomerDetailRequest request)
        {
            bool   isSucess         = false;
            string messageAlert     = string.Empty;
            long   customerIdResult = 0;

            var currentUserId = Session[LookupKey.SessionVariables.UserId].IsNull() ? 0 : Convert.ToInt64(Session[LookupKey.SessionVariables.UserId]);

            request.CreatedBy   = currentUserId;
            request.CreatedTime = DateTime.Now;

            if (ModelState.IsValid)
            {
                customerIdResult = _customerServices.SaveDetail(request);

                if (customerIdResult == -100)
                {
                    return(Json(new { isSuccess = isSucess, messageAlert = Messages.CustomerNameValidation }, JsonRequestBehavior.AllowGet));
                }
                if (customerIdResult == 0)
                {
                    return(Json(new { isSuccess = isSucess, messageAlert = Messages.ServerError }, JsonRequestBehavior.AllowGet));
                }

                isSucess = true;
                var response = new
                {
                    isSuccess    = isSucess,
                    messageAlert = messageAlert,
                    CustomerId   = customerIdResult
                };

                return(Json(response, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(new { isSuccess = isSucess, messageAlert = Messages.ErrorOccuredDuringProcessing }, JsonRequestBehavior.AllowGet));
            }
        }
Пример #10
0
        public static dbentities.Customer DtoToEntity(this CustomerDetailRequest request)
        {
            dbentities.Customer entity = null;

            if (request != null)
            {
                entity = new dbentities.Customer
                {
                    CustomerID       = request.CustomerId,
                    CustomerCode     = request.CustomerCode,
                    FirstName        = request.FirstName,
                    LastName         = request.LastName,
                    FullAddress      = request.FullAddress,
                    MobileNumber     = request.MobileNumber,
                    CustomerStatusID = request.CustomerStatusId,
                    CreatedBy        = request.CreatedBy,
                    CreatedTime      = request.CreatedTime,
                    ModifiedBy       = request.ModifiedBy,
                    ModifiedTime     = request.ModifiedTime
                };
            }

            return(entity);
        }