public JsonResult searchvendor(string prefix)
        {
            var _draw          = "1";
            var _start         = "0";
            var _length        = "10";
            var _sortColumn    = "Id";
            var _sortColumnDir = "asc";
            var _searchValue   = prefix;

            int _pageSize = _length != null?Convert.ToInt32(_length) : 0;

            int _skip = _start != null?Convert.ToInt32(_start) : 0;

            var request = new VendorRequest
            {
                Draw          = _draw,
                SearchValue   = _searchValue,
                SortColumn    = _sortColumn,
                SortColumnDir = _sortColumnDir,
                PageSize      = _pageSize,
                Skip          = _skip
            };
            var response = new VendorResponse();

            if (request.SearchValue != null)
            {
                response = new VendorHandler(_unitOfWork).GetListData(request);
            }

            return(Json(new { data = response.Data, recordsFiltered = response.RecordsFiltered, recordsTotal = response.RecordsTotal, draw = response.Draw }, JsonRequestBehavior.AllowGet));
        }
        public async Task <UserResponse> GetUserAsync(GetUserRequest request, CancellationToken cancellationToken)
        {
            var response = await _userRepository.GetByEmailAsync(request.Email, cancellationToken);

            if (response == null)
            {
                return(null);
            }

            var roles = await _userRepository.GetRoles(request.Email);

            var role   = roles.First();
            var vendor = new VendorResponse();
            var name   = $"{response.FirstName} {response.LastName}";

            if (role == "Vendor")
            {
                var userVendor = await _vendorRepository.GetByUserId(response.Id);

                vendor.Id   = userVendor.Id;
                vendor.Name = userVendor.Name;
                vendor.Type = userVendor.Type;
                name        = userVendor.Name;
            }

            return(new UserResponse {
                Id = response.Id, Name = name, Email = response.Email, Role = role, Vendor = vendor
            });
        }
예제 #3
0
        public VendorResponse Map(Vendor vendorItem)
        {
            var response = new VendorResponse
            {
                Id           = vendorItem.Id,
                Name         = vendorItem.Name,
                Type         = vendorItem.Type,
                ContactName  = vendorItem.ContactName,
                ContactEmail = vendorItem.ContactEmail,
                Address      = vendorItem.Address
            };


            return(response);
        }
        /// <summary>
        /// Gets the vendors.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        public VendorResponse GetVendors(VendorRequest request)
        {
            var response = new VendorResponse();

            if (request.LoadOptions.Contains("Vendors"))
            {
                response.Vendors = request.LoadOptions.Contains("IsActive") ? VendorDao.GetVendorByActives(request.IsActive) : VendorDao.GetVendors();
            }
            if (request.LoadOptions.Contains("Vendor"))
            {
                response.Vendor = VendorDao.GetVendorById(request.VendorId);
            }

            return(response);
        }
예제 #5
0
        public void Validate(VendorRequest request, out VendorResponse response)
        {
            response = new VendorResponse();

            if (request.Action != null && request.Action.Equals(ClinicEnums.Action.DELETE.ToString()))
            {
                ValidateForDelete(request, out response);
            }
            else
            {
                bool isHavePrivilege = true;

                if (request.Data.namavendor == null || String.IsNullOrWhiteSpace(request.Data.namavendor))
                {
                    errorFields.Add("Vendor Name");
                }

                if (errorFields.Any())
                {
                    response.Status  = false;
                    response.Message = string.Format(Messages.ValidationErrorFields, String.Join(",", errorFields));
                }

                if (request.Data.Id == 0)
                {
                    isHavePrivilege = IsHaveAuthorization(ADD_VENDOR, request.Data.Account.Privileges.PrivilegeIDs);
                }
                else
                {
                    isHavePrivilege = IsHaveAuthorization(EDIT_VENDOR, request.Data.Account.Privileges.PrivilegeIDs);
                }

                if (!isHavePrivilege)
                {
                    response.Status  = false;
                    response.Message = Messages.UnauthorizedAccess;
                }

                if (response.Status)
                {
                    response = new VendorHandler(_unitOfWork).CreateOrEdit(request);
                }
            }
        }
예제 #6
0
        private void ValidateForDelete(VendorRequest request, out VendorResponse response)
        {
            response = new VendorResponse();

            if (request.Action == ClinicEnums.Action.DELETE.ToString())
            {
                bool isHavePrivilege = IsHaveAuthorization(DELETE_VENDOR, request.Data.Account.Privileges.PrivilegeIDs);
                if (!isHavePrivilege)
                {
                    response.Status  = false;
                    response.Message = Messages.UnauthorizedAccess;
                }
            }

            if (response.Status)
            {
                response = new VendorHandler(_unitOfWork).RemoveData(request);
            }
        }
        /// <summary>
        /// Sets the vendors.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        public VendorResponse SetVendors(VendorRequest request)
        {
            var response     = new VendorResponse();
            var vendorEntity = request.Vendor;

            if (request.Action != PersistType.Delete)
            {
                if (!vendorEntity.Validate())
                {
                    foreach (string error in vendorEntity.ValidationErrors)
                    {
                        response.Message += error + Environment.NewLine;
                    }
                    response.Acknowledge = AcknowledgeType.Failure;
                    return(response);
                }
            }
            try
            {
                if (request.Action == PersistType.Insert)
                {
                    var vendorByCode = VendorDao.GetVendorByCode(vendorEntity.VendorCode);
                    if (vendorByCode != null)
                    {
                        response.Acknowledge = AcknowledgeType.Failure;
                        response.Message     = @"Mã nhà cung cấp " + vendorByCode.VendorCode + @" đã tồn tại !";
                        return(response);
                    }
                    AutoNumberListDao.UpdateIncreateAutoNumberListByValue("Vendor");
                    vendorEntity.VendorId = VendorDao.InsertVendor(vendorEntity);
                    response.Message      = null;
                }
                else if (request.Action == PersistType.Update)
                {
                    var vendorByCode = VendorDao.GetVendorByCode(vendorEntity.VendorCode);
                    if (vendorByCode != null)
                    {
                        if (vendorByCode.VendorId != vendorEntity.VendorId)
                        {
                            response.Acknowledge = AcknowledgeType.Failure;
                            response.Message     = @"Mã nhà cung cấp " + vendorByCode.VendorCode + @" đã tồn tại !";
                            return(response);
                        }
                    }
                    response.Message = VendorDao.UpdateVendor(vendorEntity);
                }
                else
                {
                    var vendorForUpdate = VendorDao.GetVendorById(request.VendorId);
                    response.Message = VendorDao.DeleteVendor(vendorForUpdate);
                }
            }
            catch (Exception ex)
            {
                response.Acknowledge = AcknowledgeType.Failure;
                response.Message     = ex.Message;
                return(response);
            }

            response.VendorId    = vendorEntity != null ? vendorEntity.VendorId : 0;
            response.Acknowledge = response.Message != null ? AcknowledgeType.Failure : AcknowledgeType.Success;
            return(response);
        }
예제 #8
0
 public void Update(VendorResponse response)
 {
 }